folgendes Problem: ich möchte gerne alle Datensätze in Excel filtern, deren Zellen in einer bestimmten Spalte farbig sind. Sind die Zellen über den Menüpkt "Zellen formatieren farbig "hinterlegt, ist es kein Problem mit folgendem VBA-Code (es ist eine UserForm als Eingabe-Plattform hinterlegt):
Private Sub cmdOK_Click()
Dim x As Integer
Dim y1 As Integer
Dim y2 As Integer
Dim a As Integer
x_wert.SetFocus
x = x_wert.Value
y1 = y1_wert.Value
y2 = y2_wert.Value
a = a_wert.Value
Application.ScreenUpdating = False
For i = y1 To y2
If Cells(i, x).Interior.ColorIndex = a Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
UserForm1.Hide
End Sub
Allerdings möchte ich gerne auch Datensätze filtern, die mittels der Bedingten Formatierung farbig hinterlegt sind. Dazu habe ich folgenden Änderung im o.g. Code eingegeben:
For i = y1 To y2
If Cells(i, x).FormatConditions(1).Interior.ColorIndex = a Then
Rows(i).Hidden = True
End If
Next i
Das Problem ist, dass VBA den FormatConditions().Interior.Color.Index auf alle Zellen mit der bedingten Formatierung gleich setzt.
Meine Frage: gibt es eine andere Anweisung für "FormatConditions(1).Interior.ColorIndex", die sich auf die tatsächlich hinterlegte Farbe bezieht, so dass z.B. nur Datensätze angezeigt werden, die durch die bedingte Formatierung Rot hinterlegt sind?
Für Eure Ideen und Anregungen bin ich Euch dankbar.
Gruß,
Henrik