Vba: pas voorwaardelijke opmaak toe op dubbele waarden
U kunt de volgende basissyntaxis in VBA gebruiken om voorwaardelijke opmaak toe te passen op dubbele waarden in een specifiek bereik:
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 dit specifieke voorbeeld wordt voorwaardelijke opmaak toegepast op dubbele waarden in het A2:A11- bereik van het huidige blad in Excel.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: gebruik VBA om voorwaardelijke opmaak toe te passen op dubbele waarden
Stel dat we de volgende kolom met waarden in Excel hebben:
Stel dat we de volgende voorwaardelijke opmaak willen toepassen op de dubbele waarden in kolom A:
- Blauwe achtergrond
- Zwarte tekst
- Vetgedrukte tekst
We kunnen hiervoor de volgende macro maken:
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
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Houd er rekening mee dat voorwaardelijke opmaak wordt toegepast op elke cel in kolom A met een dubbele waarde.
Als u voorwaardelijke opmaak op een ander celbereik wilt toepassen, vervangt u eenvoudigweg A2:A11 in de macro door een ander bereik.
Als u bovendien alle voorwaardelijke opmaak van cellen op het huidige blad wilt verwijderen, kunt u hiervoor de volgende macro maken:
Sub RemoveConditionalFormatting()
ActiveSheet.Cells.FormatConditions.Delete
End Sub
Wanneer we deze macro uitvoeren, ontvangen we de volgende uitvoer:
Houd er rekening mee dat alle voorwaardelijke opmaak uit de cellen is verwijderd.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in VBA kunt uitvoeren:
VBA: unieke waarden binnen bereik tellen
VBA: cellen tellen met specifieke tekst
VBA: Hoe COUNTIF- en COUNTIFS-functies te schrijven