Vba: so wenden sie bedingte formatierung auf zellen an


Sie können in VBA die folgenden Methoden verwenden, um bedingte Formatierung auf Zellen anzuwenden:

Methode 1: Bedingte Formatierung basierend auf einer Bedingung anwenden

 Sub ConditionalFormatOne()
Dim rg As Range
Dim cond As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" B2:B11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'apply conditional formatting to any cell in range B2:B11 with value greater than 30
Set cond = rg.FormatConditions.Add(xlCellValue, xlGreater, " =30 ")

'define conditional formatting to use
With cond
.Interior.Color = vbGreen
.Font.Color = vbBlack
.Font.Bold = True
End With

End Sub

Methode 2: Bedingte Formatierung basierend auf mehreren Bedingungen anwenden

 Sub ConditionalFormatMultiple()
Dim rg As Range
Dim cond1 As FormatCondition, cond2 As FormatCondition, cond3 As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'specify rules for conditional formatting
Set cond1 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Mavericks ”)
Set cond2 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Blazers ”)
Set cond3 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Celtics ”)

'define conditional formatting to use
With cond1
.Interior.Color = vbBlue
.Font.Color = vbWhite
.Font.Italic = True
End With

With cond2
.Interior.Color = vbRed
.Font.Color = vbWhite
.Font.Bold = True
End With

With cond3
.Interior.Color = vbGreen
.Font.Color = vbBlack
End With

End Sub

Methode 3: Entfernen Sie alle bedingten Formatierungsregeln aus Zellen

 Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub

Die folgenden Beispiele zeigen, wie Sie die einzelnen Methoden in der Praxis mit dem folgenden Datensatz in Excel anwenden:

Beispiel 1: Bedingte Formatierung basierend auf einer Bedingung anwenden

Mit dem folgenden Makro können wir Zellen im Bereich B2:B11 , die einen Wert größer als 30 haben, mit grünem Hintergrund, schwarzer Schrift und fettem Textstil füllen:

 Sub ConditionalFormatOne()
Dim rg As Range
Dim cond As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" B2:B11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'apply conditional formatting to any cell in range B2:B11 with value greater than 30
Set cond = rg.FormatConditions.Add(xlCellValue, xlGreater, " =30 ")

'define conditional formatting to use
With cond
.Interior.Color = vbGreen
.Font.Color = vbBlack
.Font.Bold = True
End With

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass jede Zelle im Bereich B2:B11 , die einen Wert größer als 30 hat, einer bedingten Formatierung unterliegt.

Jede Zelle mit einem Wert kleiner oder gleich 30 wird einfach in Ruhe gelassen.

Beispiel 2: Bedingte Formatierung basierend auf mehreren Bedingungen anwenden

Wir können das folgende Makro verwenden, um eine bedingte Formatierung auf Zellen im Bereich A2:A11 basierend auf ihrem Teamnamen anzuwenden:

 Sub ConditionalFormatMultiple()
Dim rg As Range
Dim cond1 As FormatCondition, cond2 As FormatCondition, cond3 As FormatCondition

'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")

'clear any existing conditional formatting
rg.FormatConditions.Delete

'specify rules for conditional formatting
Set cond1 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Mavericks ”)
Set cond2 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Blazers ”)
Set cond3 = rg.FormatConditions.Add(xlCellValue, xlEqual, “ Celtics ”)

'define conditional formatting to use
With cond1
.Interior.Color = vbBlue
.Font.Color = vbWhite
.Font.Italic = True
End With

With cond2
.Interior.Color = vbRed
.Font.Color = vbWhite
.Font.Bold = True
End With

With cond3
.Interior.Color = vbGreen
.Font.Color = vbBlack
End With

End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass die Zellen mit den Teamnamen „Mavericks“, „Blazers“ und „Celtics“ alle einer bestimmten bedingten Formatierung unterliegen.

Das einzige Team mit dem Namen „Lakers“ bleibt in Ruhe, da wir keine bedingten Formatierungsregeln für Zellen mit diesem Teamnamen angegeben haben.

Beispiel 3: Entfernen Sie alle bedingten Formatierungsregeln aus Zellen

Schließlich können wir das folgende Makro verwenden, um alle bedingten Formatierungsregeln aus Zellen im aktuellen Blatt zu entfernen:

 Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass sämtliche bedingte Formatierungen aus allen Zellen entfernt wurden.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in VBA ausführen:

VBA: So zählen Sie das Vorkommen von Zeichen in einer Zeichenfolge
VBA: So überprüfen Sie, ob eine Zeichenfolge eine andere Zeichenfolge enthält
VBA: eine Formel für „Wenn“ die Zelle enthält“

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert