Guten Morgen zusammen,
hier der Link zu meiner Datei.
https://www.file-upload.net/download-13938882/overdue_test1_Macro_help.xlsx.html
Ich habe der Spalte AK in den Farben formatiert, die ich am Ende als Text brauche.
Die Aufgabe ist ziemlich unkompliziert:
Suche in Spalte H nach Datum grösser heute, in Spalte U nach "A" und ändere in Spalte AK den Text von "rot" nach "gelb"
Suche in Spalte H nach Datum grösser heute, in Spalte U nach "O" und ändere in Spalte AK den Text von "rot" nach "grün"
Suche in Spalte H nach Datum grösser heute, in Spalte U nach "nicht A" & "nicht O" und ändere in Spalte AK den Text von "rot" nach "blau"
Dieser Code funktioniert unzuverlässig:
AllowMultiSelect = False
If Fname = "False" Then Exit Sub
Set SrcWbk = Workbooks.Open(Fname)
Selection.NumberFormat = "mm/dd/yyyy"
On Error Resume Next
ActiveSheet.ShowAllData
Range("CL1").Select
Selection.NumberFormat = "mm/dd/yyyy"
ActiveCell.FormulaR1C1 = "=Today()"
Dim MyVal As Date
Selection.NumberFormat = "mm/dd/yyyy"
MyVal = Application.WorksheetFunction.WorkDay(Range("CL1").Value, 0)
With ActiveSheet.Range("$A$1:$CZ$90101")
.AutoFilter Field:=37, Criteria1:="rot"
.AutoFilter Field:=8, Criteria1:=">" & MyVal
.AutoFilter Field:=21, Criteria1:="O"
End With
Dim c As Excel.Range
For Each c In Range("AK2:AK" & Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
If c.Offset(, -1).Value = vbNullString Then Exit For
c.Value = "grün"
Next
Wenn ich diesen Code drei Mal hintereinander aufbaue, für die drei verschiedenen Farben, dann wird mal alles drei wie erwartet umgeschrieben, aber manchmal wird nur der erste oder nur die ersten beiden Codes umgesetzt.
Das meinte ich mit meiner Aussage, dass dieser Code nicht zuverlässig funktioniert. Speziell wenn das Filter Ergebnis für eine der drei Filter leer ist, ist das Ergebnis nicht korrekt.
Gruss
Mike
|