Hallo,
Aan een aantal cellen heb ik een voorwaardelijke opmaak toegekend. Alle cellen die > 6 worden rood.
Je denkt nu dus dat de achtergrondkleur ook rood is maar dat is dus niet waar. De achtergrond is eigenlijk gewoon wit. Blijkbaar is een voorwaardelijke opmaak iets anders dan de normale opmaak methoden.
Ik kwam hier achter door dat ik een functie gemaakt heb waarin ik rode gekleurde cellen wil tellen maar dat werkte niet, nee logisch want de achtergrond kleur is helemaal niet rood.
Function FunTelAantalCellen(bereik As Range, kleurBereik As Range) As Integer
'JvS telt cellen in bereik met bepaalde achtergrondkleur
'4 = helder groen
'3 = rood
intKleurindex = kleurBereik.Interior.ColorIndex
Dim objCel As Object
Dim intAantal As Integer
For Each objCel In bereik.Cells
Debug.Print objCel.Interior.ColorIndex & "-" & intKleurindex & "-"
If objCel.Interior.ColorIndex = intKleurindex Then intAantal = intAantal + 1
Next
FunTelAantalCellen = intAantal
End Function
Aan een aantal cellen heb ik een voorwaardelijke opmaak toegekend. Alle cellen die > 6 worden rood.
Je denkt nu dus dat de achtergrondkleur ook rood is maar dat is dus niet waar. De achtergrond is eigenlijk gewoon wit. Blijkbaar is een voorwaardelijke opmaak iets anders dan de normale opmaak methoden.
Ik kwam hier achter door dat ik een functie gemaakt heb waarin ik rode gekleurde cellen wil tellen maar dat werkte niet, nee logisch want de achtergrond kleur is helemaal niet rood.
Function FunTelAantalCellen(bereik As Range, kleurBereik As Range) As Integer
'JvS telt cellen in bereik met bepaalde achtergrondkleur
'4 = helder groen
'3 = rood
intKleurindex = kleurBereik.Interior.ColorIndex
Dim objCel As Object
Dim intAantal As Integer
For Each objCel In bereik.Cells
Debug.Print objCel.Interior.ColorIndex & "-" & intKleurindex & "-"
If objCel.Interior.ColorIndex = intKleurindex Then intAantal = intAantal + 1
Next
FunTelAantalCellen = intAantal
End Function