• 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.

Kleuren met voorwaardelijke opmaak tellen

Status
Niet open voor verdere reacties.

Jorn1975

Gebruiker
Lid geworden
14 feb 2008
Berichten
35
Hallo ik heb hier wel eens eerder een vraag gesteld of het mogelijk is om kleuren die gemaakt zijn door een voorwaardelijke opmaak te tellen. Toen is het niet gelukt maar nu poging 2 want ik heb een site gevonden waarop ze zeggen dat het wel degelijk mogelijk is. Makkelijk is het in iedergeval niet!

http://www.xldynamic.com/source/xld.CFConditions.html#count

Ik heb het zelf geprobeert maar als leek kom ik er niet uit is er iemand die hem wel werkend krijgt en de file op deze site wil zetten???


Code:
Public Function CFColorCount(rng As Range, _
                      ciValue, _
                      Optional text As Boolean = False)

Dim cell As Range, row As Range
Dim i As Long, j As Long
Dim aryColours As Variant

   If rng.Areas.Count > 1 Then
      CFColorCount = "#Too many areas!"
      Exit Function
   End If

   If rng.Cells.Count = 1 Then
      CFColorCount = -CLng(CFColorindex(rng, text) = ciValue)
   Else
      i = 0
      For Each row In rng.Rows
         i = i + 1
         j = 0
         For Each cell In row.Cells
            j = j + 1
            CFColorCount = CFColorCount - _
                          CLng(CFColorindex(cell, text) ) = ciValue)
         Next cell
      Next row
   End If

End Function


Ik heb deze formule in een module gezet maar krijg hem niet werkend met

Code:
=CFColorCount(A1:A4,CFColorindex(A1))


Wie wilt er eens naar kijken?:thumb:
 
Laatst bewerkt door een moderator:
Hallo Jorn,

Wil jij tellen per kleur of het aantal cellen met kleur optellen?
 
Als de kleuren voortkomen uit een voowaardelijke opmaak dan hoef je niet de kleuren te tellen, maar dan kan je het aantal voorwaarden tellen die WAAR zijn (een kleur geven).
 
Je gaat ook nog de functie CFColorindex van die pagina moeten opnemen in de code van je bestand. De functie CFColorCount maakt daar immers gebruik van.

edit: maar dat optellen van kleuren via voorw. opm. lijkt me de moeilijke weg. Je hebt de voorw. opmaak ook ingebracht, dus tellen op basis van diezelfde criteria gaat imho makkelijker zijn.
 
Laatst bewerkt:
wat de bedoeling is

ik wil de cellen tellen die een kleur hebben gekregen door voorw opm.
Het is een schema waarin een cel oranje kleurd als cellen A1 t/m A9 allemaal een 1 hebben staan =SOM($A1:$I1)>=9 zodra in deze cel een 1 word geplaatst kleurt hij blauw.

Zo staan er 120 regels onder elkaar en wil ik de oranje cellen tellen.

Hoe kan ik zo iets op lossen
 

Bijlagen

ik wil de cellen tellen die een kleur hebben gekregen door voorw opm.
Het is een schema waarin een cel oranje kleurd als cellen A1 t/m A9 allemaal een 1 hebben staan =SOM($A1:$I1)>=9 zodra in deze cel een 1 word geplaatst kleurt hij blauw.

Zo staan er 120 regels onder elkaar en wil ik de oranje cellen tellen.

Hoe kan ik zo iets op lossen

kan je niet met een andere manier dan voorwaardelijke opmaak werken? gewoon met getallen bijvoorbeeld.

Ik heb namelijk ooit weleens deze code gekregen maar kan het niet weervinden. Als je in google zoekt vind je wel het één en ander hierover...
 
Via een simpel omwegje is dat te doen.
Zie voorbeeld.

Cobbe
 
Laatst bewerkt:
Bedankt

Hallo allemaal

Bedankt cobbe
Dit zou een oplossing zijn maar er moet ook een X in het vakje geplaatst kunnen worden en een 1 dan ben je gelijk de formule =ALS(SOM($A2:$I2)=9;9;"") kwijt?


Groetjes Jorn
 
Hallo allemaal

Bedankt cobbe
Dit zou een oplossing zijn maar er moet ook een X in het vakje geplaatst kunnen worden en een 1 dan ben je gelijk de formule =ALS(SOM($A2:$I2)=9;9;"") kwijt?


Groetjes Jorn
Dan plaats je die formule van cobbe toch in een aantal hulp cellen/hulp kolom. deze zou je indien gewenst kunnnen verbergen.
 
Hoi Paul dat zou ik kunnen doen maar als er een X of een 1 ingevuld word mogen ze niet meer mee geteld worden hoe doe ik dat dan?

Groetjes Jorn
 
Aangepast volgens uw wensen, denk ik toch.

Cobbe
 
Laatst bewerkt:
Hoi Cobbe

Super bedankt weer, we komen steeds dichter in de buurt, ik vind het erg knap.
Maar als ik nu een 1 in vult word het vakje blauw maar hij teld hem nog steeds mee.
Als ik een X invult zou ik hem nog een andere kleur kunnen geven dus dat is niet zo erg als hij hem mee teld.

Groetjes Jorn
 
Sorry, kan niet meer volgen.

Schrijf eens in je voorbeeldbestand wat je nu eigenlijk waar en hoe wil hebben.
Ik kan nergens zien waar die X en/ 1 geteld worden.
Die '1' worden nu enkel geteld om de cel in kolom AK te kleuren.

Cobbe
 
Hoi Cobbe

Je hebt het goed de 1 word ingevuld om het blokje te kleuren. verder worden deze 1 tjes ook nog op geteld. en de x-en worden ook geteld.
Ik heb het voorbeeld aan gepast

Groetjes Jorn
 

Bijlagen

Laatst bewerkt:
Niemand die het weet?

:confused:Wie komt er uit of weet een andere manier????

http://www.xldynamic.com/source/xld....ons.html#count




Code:
Public Function CFColorCount(rng As Range, _
                      ciValue, _
                      Optional text As Boolean = False)

Dim cell As Range, row As Range
Dim i As Long, j As Long
Dim aryColours As Variant

   If rng.Areas.Count > 1 Then
      CFColorCount = "#Too many areas!"
      Exit Function
   End If

   If rng.Cells.Count = 1 Then
      CFColorCount = -CLng(CFColorindex(rng, text) = ciValue)
   Else
      i = 0
      For Each row In rng.Rows
         i = i + 1
         j = 0
         For Each cell In row.Cells
            j = j + 1
            CFColorCount = CFColorCount - _
                          CLng(CFColorindex(cell, text) ) = ciValue)
         Next cell
      Next row
   End If

End Function
Ik heb deze formule in een module gezet maar krijg hem niet werkend met



Code:
=CFColorCount(A1:A4,CFColorindex(A1))


Wie wilt er eens naar kijken? ik heb er een beter voorbeeld bij gedaan.
 

Bijlagen

Laatst bewerkt door een moderator:
Je zou ook gebruik kunnen maken van een macro.
(zie bijgevoegd bestand)

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
Hoi Roncancio

Dit zou wel eens de oplossing kunnen zijn:) er zit alleen een fout in en ik ben geen ster in VB :confused: zodra ik in rij 2 1tjes in vult ipv de gebroken getallen loopt hij vast:

Code:
 If Cells(iRij, "AK").Value <> 1 And WorksheetFunction.Sum(Range("A" & iRij & ":I" & iRij)) = 9 Then

alvast bedankt :thumb:

Groetjes Jorn
Jorn
 
Laatst bewerkt door een moderator:
Hoi Roncancio

Dit zou wel eens de oplossing kunnen zijn:) er zit alleen een fout in en ik ben geen ster in VB :confused: zodra ik in rij 2 1tjes in vult ipv de gebroken getallen loopt hij vast:

If Cells(iRij, "AK").Value <> 1 And WorksheetFunction.Sum(Range("A" & iRij & ":I" & iRij)) = 9 Then

alvast bedankt :thumb:

Groetjes Jorn
Jorn

:shocked:
Bij mij werkt het zonder problemen. Welke melding krijg je dan?

Met vriendelijke groet,


Roncancio
 
Hoi Roncancio

Ik heb er even een printscreen van gemaakt en in de bijlage geplakt.

Groetjes Jorn
zie volgende pagina voor bijlage
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan