VBA markeercel

Deze zelfstudie laat zien hoe u VBA kunt gebruiken om een ​​cel of een celbereik te markeren.

Voorwaardelijke opmaak is een manier om cellen in Excel te markeren. We kunnen VBA ook gebruiken om celmarkering uit te voeren.

Markeer een cel

Om een ​​cel in VBA te markeren, kunnen we de eenvoudige procedure gebruiken zoals hieronder weergegeven.

123 Sub HighlightCell()ActiveCell.Interior.Color = vbRedEinde sub

Markeer een reeks cellen

Op dezelfde manier kunnen we een celbereik selecteren en alle cellen in het bereik markeren.

1234 Sub HighlightBereik()Bereik ("A1:A10"). SelecteerSelectie.Interieur.Kleur = vbRoodEinde sub

Markeer cellen op basis van celwaarde

Om een ​​voorwaarde toe te voegen voor het markeren van een cel, kunnen we een IF-statement gebruiken om de cel te markeren als de waarde van de cel boven een bepaalde waarde ligt, in dit geval groter dan 10.

12345 Sub HighlightCell_1Als ActiveCell.Value > 10 danActiveCell.Interior.Color = vbRedStop alsEinde sub

Markeer een bereik van cellen op basis van celwaarde

Om de waarden in een celbereik te controleren, moeten we door elke cel lopen, de waarde ervan bepalen en vervolgens de cel dienovereenkomstig markeren. In het onderstaande voorbeeld zullen we eerst vaststellen dat de waarde in het bereik een getal is en vervolgens testen of dat getal groter is dan 10.

12345678910 Sub HighlightRangeOfCells()Dim rng als bereikVoor elke rng binnen bereik ("A1:A10")Als IsNumeriek(rng.Value) DanAls rng.Waarde > 10 Danrng.Interieur.Kleur = vbRoodStop alsStop alsVolgende belEinde sub

Markeer een cel met voorwaardelijke opmaak

We kunnen VBA ook gebruiken om voorwaardelijke opmaak toe te passen op een cel om de cel te markeren. In het onderstaande voorbeeld wordt voorwaardelijke opmaak toegepast op elke cel in het bereik. Net als in het bovenstaande voorbeeld testen we eerst of de cel een numerieke waarde bevat en passen we vervolgens de voorwaardelijke opmaak toe.

12345678910 SubsetVoorwaardelijkeOpmaak()Dim rng als bereikVoor elke rng binnen bereik ("A1:A10")Als IsNumeriek(rng.Value) Danrng.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=10"rng.FormatConditions(1).Interior.Color = vbRedrng.FormatConditions(1).StopIfTrue = FalseStop alsVolgende belEinde sub

Markeer een cel wanneer selectie verandert

We kunnen de markering van een cel dynamisch maken wanneer de celaanwijzer in het huidige werkblad beweegt met behulp van de Worksheet_Change-gebeurtenis. In het onderstaande voorbeeld worden alle markeringen in het blad verwijderd (behalve die met voorwaardelijke opmaak) en wordt de actieve cel rood gemarkeerd (ColorIndex = 3).

1234 Privé subwerkblad_SelectionChange (ByVal-doel als bereik)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Einde sub
wave wave wave wave wave