Hét vraag- en antwoordplatform van Nederland

Hoe zet ik een voorwaadelijke opmaak makkelijk in VBA?

Ik heb een voorwaardelijke opmaak gemaakt in EXcel. Nu ben ik een groot voorstander om dit in VBA te zetten omdat formule mijn werkblad nogal traag maken. Ik heb een macro opgenomen om te kijken hoe dit wordt gecodeerd. Kan iemand mij vertellen of en hoe dit efficienter gecodeerd kan worden in VBA. Ik moet deze formule namelijk doortrekken naar alle cellen in Kolom C.

VBA MACRO:
Range("C1").Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ALS($Z$1=""JA"";1)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub

Verwijderde gebruiker
7 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Antwoorden (1)

Ik zou het persoonlijk niet in VBA doen, maar goed. Je kunt om de formule een FOR - NEXT zetten. Het ziet er dan zo uit als je de macro 1000x wil herhalen. Je kunt daar uiteraard ieder getal invullen.

SUB ConditionalFormat

DIM X as Integer
Range("C1").Select

FOR X = 1 to 1000
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ALS($Z$1=""JA"";1)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False

Activecell.offset(1,0).select
NEXT X
End Sub
paulus811
7 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing