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
7.5K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

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
(Lees meer...)
paulus811
7 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding