Hall Simon,
hier mal ein Beispiel
Sub bedingte_Formatierung_Zelle_leeren()
Dim raBereich As Range, raZelle As Range
Set raBereich = Worksheets("Tabelle1").Range("A1:A10")
For Each raZelle In raBereich
If raZelle.FormatConditions.Count > 0 Then
MsgBox raZelle.Address(0, 0) & " hat bedingte Formatierung."
raZelle.ClearContents
End If
Next raZelle
End Sub
Hier kannst du aber nur Überprüfen, ob in der jeweiligen Zelle eine bedingte Formatierung hinterlegt ist. Die Schriftfarbe der bedingten Formatierung explicit auszulesen/anzusprechen geht so nicht.
Bei dieser Version leert er dir alle Zellen im Bereich, in denen eine bedingte Formatierung enhalten ist. Sollten da auch bedingte Formatierungen drin sein bei denen das nicht passieren soll (Beispielsweise eine andere bedingte Formatierung mit Schriftfarbe grün) dann funktioniert das so nicht.
In diesem Fall müsstest du mit einer Schleife über die entsprechenden Zellen die Kriterien abprüfen, die du in der bedingten Formatierung angegeben hast.
Wenn du Beispielsweise die Schrift per bedingter Formatierung mit Rot formatierst nach dieser Formel: =A1>100, dann müsstest du in der Schleife das für raZelle prüfen:
Sub bedingte_Formatierung_Zelle_leeren()
Dim raBereich As Range, raZelle As Range
Set raBereich = Worksheets("Tabelle1").Range("A1:A10")
For Each raZelle In raBereich
If raZelle > 100 Then
raZelle.ClearContents
End If
Next raZelle
End Sub
Gruß Werner
|