Vba: bedingte formatierung auf doppelte werte anwenden
Sie können die folgende grundlegende Syntax in VBA verwenden, um eine bedingte Formatierung auf doppelte Werte in einem bestimmten Bereich anzuwenden:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
In diesem speziellen Beispiel wird die bedingte Formatierung auf doppelte Werte im Bereich A2:A11 des aktuellen Blatts in Excel angewendet.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Verwenden Sie VBA, um bedingte Formatierung auf doppelte Werte anzuwenden
Angenommen, wir haben die folgende Wertespalte in Excel:
Angenommen, wir möchten die folgende bedingte Formatierung auf die doppelten Werte in Spalte A anwenden:
- Blauer Hintergrund
- Schwarzer Text
- Fettgedruckter Text
Dazu können wir das folgende Makro erstellen:
Sub ConditionalFormatDuplicates()
Dim rg As Range
Dim uv As UniqueValues
'specify range to apply conditional formatting
Set rg = Range(" A2:A11 ")
'clear any existing conditional formatting
rg.FormatConditions.Delete
'identify duplicate values in range A2:A11
Set uv = rg.FormatConditions.AddUniqueValues
uv.DupeUnique = xlDuplicate
'apply conditional formatting to duplicate values
uv.Interior.Color = vbBlue
uv.Font.Color = vbWhite
uv.Font.Bold = True
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass die bedingte Formatierung auf jede Zelle in Spalte A mit einem doppelten Wert angewendet wird.
Wenn Sie die bedingte Formatierung auf einen anderen Zellbereich anwenden möchten, ersetzen Sie einfach A2:A11 im Makro durch einen anderen Bereich.
Wenn Sie außerdem alle bedingten Formatierungen aus Zellen im aktuellen Blatt entfernen möchten, können Sie dazu das folgende Makro erstellen:
Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass jegliche bedingte Formatierung aus den Zellen entfernt wurde.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So zählen Sie eindeutige Werte im Bereich
VBA: So zählen Sie Zellen mit bestimmtem Text
VBA: So schreiben Sie COUNTIF- und COUNTIFS-Funktionen