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

Einen Kommentar hinzufügen

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