• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Celkleur tellen met voorwaardelijke opmaak

Status
Niet open voor verdere reacties.

manowa

Nieuwe gebruiker
Lid geworden
5 mei 2017
Berichten
4
Hallo,

Ik weet dat dit onderwerp al meerdere keren is behandeld, en heb ook diverse formules en vba codes geprobeerd maar op de één of andere manier werkt het bij mij niet.
Ik heb een simpel excel bestand (office 2010 pro plus) met 2 kolommen met getallen. Met een voorwaardelijke opmaak heb ik de cellen van de getallen in de linkerkolom groen gekleurd als deze getallen ook voorkomen in het rechterkolom. Nu wil ik in een kolom P met een formule of een vba code het aantal groene cellen tellen in die regel. Iemand suggesties?

Alvast bedankt.
Gr. Manowa
 

Bijlagen

Laatst bewerkt:
Met een formule zal niet gaan. Normaal gesproken zou je vanaf Excel 2010 dit gebruiken om het kleurnummer van een door voorwaardelijke opmaak gekleurde cel op te halen:
Code:
cel.DisplayFormat.Interior.Color

In een Sub gaat dit prima maar in een functie niet.
Dat lijkt me een bug in Excel.

In een sub kan je dat dus wel gebruiken.
Ook in een worksheet event gaat het goed.
Die groene kleur heeft overigens deze waarde: 5287936
 
Laatst bewerkt:
Hoi manowa, welkom op het forum:)
Lotto'tje aan het maken voor uw clubje of favoriete kroegje?:)
Zoals Edmoor al aangaf, als je met voorwaardelijke opmaak werkt, om dan kleuren te tellen?? Gekleurde cellen opgemaakt met VO ziet excel niet als gekleurde cellen.
Maar misschien is mijn vbtje ook ok?
Hoe werkt het.
Je hebt een tabblad Invoer, daar vul je de namen in van de deelnemers en hun gekozen nummers. (nadien alleen aan te passen als er een deelnemer bijkomt of wegvalt of andere nummertjes kiest.
Blad LottoGetallen, daar vul je de gevallen nummers in.In A4 zet je de startdatum van een (nieuwe) ronde.De rest van de datums worden automatisch ingevuld. (volgens uw voorbeeldje voor 15 weken).
Blad OpVolgorde, daar hoef je niets te doen, daar komen de deelnemers (automatisch) in volgorde te staan beginnende met de deelnemer met de meeste juiste nummers bovenaan,wat dan volgens mij uw tel probleem oplost.
En dan heb je nog een print knopje die blad Lottogetallen en OpVolgorde uitprint om in uw clubje of kroegje op het prikbord te hangen.
(PrintPreview vervangen door PrintOut in de code)
Let wel, met deze kan je 1000 deelnemers invullen, bij veranderingen duurt het een paar sec.,tot alles is aangepast.
 

Bijlagen

@Dotchie:
Het kleurnummer van door voorwaardelijke opmaak gekleurde cellen kan je zo ophalen:
cel.DisplayFormat.Interior.Color

Maar zoals gezegd werkt dat niet in een functie, wel in een Sub en een worksheet event.
 
@ Edmoor, klopt 100% maar VO en kleuren??
Ik ben er echt niet happig op, waarschijnlijk heeft TS al geprobeerd met formules zoals
Code:
=SOM(AANTAL.ALS(UitgekomenNummers;$C3:$L3)))
of met een vba functie zoals
Code:
Function GetColorCount(CountRange As Range, CountColor As Range)
Dim CountColorValue As Integer
Dim TotalCount As Integer
CountColorValue = CountColor.Interior.ColorIndex
Set rCell = CountRange
For Each rCell In CountRange
    If rCell.Interior.ColorIndex = CountColorValue Then
        TotalCount = TotalCount + 1
    End If
Next rCell
GetColorCount = TotalCount
End Function
Dit werkt echter voor geen meter met VO
 
Nee, daarom zei ik dat je er dit voor moet gebruiken:
rCell.DisplayFormat.Interior.Color

Maar er zit een bug in Excel waardoor dat in een Functie niet werkt.
In een Sub en een Worksheet event werkt het wel goed.
 
Laatst bewerkt:
Hoi gast0660, bedankt voor je lijstje. Ziet er super uit. Het gaat inderdaad om een lottootje voor op werk.
Ik ben me sinds kort aan het verdiepen in excel en een beetje aan het stoeien met formules en vba.
Echter liep ik hierop vast.


Hoi manowa, welkom op het forum:)
Lotto'tje aan het maken voor uw clubje of favoriete kroegje?:)
Zoals Edmoor al aangaf, als je met voorwaardelijke opmaak werkt, om dan kleuren te tellen?? Gekleurde cellen opgemaakt met VO ziet excel niet als gekleurde cellen.
Maar misschien is mijn vbtje ook ok?
Hoe werkt het.
Je hebt een tabblad Invoer, daar vul je de namen in van de deelnemers en hun gekozen nummers. (nadien alleen aan te passen als er een deelnemer bijkomt of wegvalt of andere nummertjes kiest.
Blad LottoGetallen, daar vul je de gevallen nummers in.In A4 zet je de startdatum van een (nieuwe) ronde.De rest van de datums worden automatisch ingevuld. (volgens uw voorbeeldje voor 15 weken).
Blad OpVolgorde, daar hoef je niets te doen, daar komen de deelnemers (automatisch) in volgorde te staan beginnende met de deelnemer met de meeste juiste nummers bovenaan,wat dan volgens mij uw tel probleem oplost.
En dan heb je nog een print knopje die blad Lottogetallen en OpVolgorde uitprint om in uw clubje of kroegje op het prikbord te hangen.
(PrintPreview vervangen door PrintOut in de code)
Let wel, met deze kan je 1000 deelnemers invullen, bij veranderingen duurt het een paar sec.,tot alles is aangepast.
 
Hoi Edmoor,

Bedankt voor je reactie. Ik volgje niet helemaal. Ik moet dus rCell.DisplayFormat.Interior.Color in een sub zetten. En waar moet ik de kleurcode 5287936 neerzetten? En hoe krijg ik dan de telling van de groene cellen in kolom P?

Nee, daarom zei ik dat je er dit voor moet gebruiken:
rCell.DisplayFormat.Interior.Color

Maar er zit een bug in Excel waardoor dat in een Functie niet werkt.
In een Sub en een Worksheet event werkt het wel goed.
 
Als je iets kunt kleuren met voorwaardelijke opmaak, kun je het ook met een gewone formule berekenen.
Dus als jij het aantal groene cellen wilt tellen, welke de kleur groen hebben doordat de getallen voorkomen in S2:X9 kun je bijv. ook deze formule gebruiken in P3 en verder:
Code:
=AANTALARG($C3:$L3)-SOM(INDEX(N(AANTAL.ALS($S$2:$X$9;$C3:$L3)=0);))

of korter:

Code:
=SOM(INDEX(N(AANTAL.ALS($S$2:$X$9;$C3:$L3)<>0);))
 
Laatst bewerkt:
Hallo E v R,

Deze formules werken perfect, bedankt!!

Gr. Manowa

Als je iets kunt kleuren met voorwaardelijke opmaak, kun je het ook met een gewone formule berekenen.
Dus als jij het aantal groene cellen wilt tellen, welke de kleur groen hebben doordat de getallen voorkomen in S2:X9 kun je bijv. ook deze formule gebruiken in P3 en verder:
Code:
=AANTALARG($C3:$L3)-SOM(INDEX(N(AANTAL.ALS($S$2:$X$9;$C3:$L3)=0);))

of korter:

Code:
=SOM(INDEX(N(AANTAL.ALS($S$2:$X$9;$C3:$L3)<>0);))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan