VBA: bedingte Formatierung löschen - Sero - 07.11.2022
Guten Morgen,
ich habe mir eine Sub erstellt, die bestimmte bedingte Formatierungen löschen und eine neue erstellen soll:
Code: Sub BF_SchutzZelle_Loeschen_Einrichten()
Dim n As Integer 'Zähler
Dim i As Integer 'Anzahl Formatierungen in Tabellenblatt
ActiveSheet.Cells.Select 'alles markieren
i = Selection.FormatConditions.Count
'Alle BF mit Zellenschutz löschen
If Selection.FormatConditions.Count > 0 Then
For n = i To 1 Step -1
If Selection.FormatConditions(n).Type = xlExpression Then
If Selection.FormatConditions(n).Formula1 = "=NICHT(ZELLE(""Schutz"";A1))" Like True Then
Selection.FormatConditions(n).Delete
Else
End If
Else
End If
i = Selection.FormatConditions.Count
Next n
Else
MsgBox "keine Bedingte Formatierungen in : " & ActiveSheet.Name & " : enthalten"
End If
'eine neue BF mit Zellenschutz einrichten
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=NICHT(ZELLE(""Schutz"";A1))"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Pattern = xlLightDown
.PatternThemeColor = xlThemeColorAccent2
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Soweit funktioniert die Anwendung, allerdings wird immer nur die Formatierung gelöscht, wenn A1 in der Auswahl enthalten ist.
Frage: wie kann ich A1 durch einen Platzhalter ersetzen so dass
Code: =NICHT(ZELLE(""Schutz"";A1))
zwar diese Formatierung mit o. g. Formel gelöscht wird, aber eben alle anderen, die nicht A1 enthalten.
Besten Dank!
Sero
|