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

Opgelost Tellen van gekleurde cellen

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Amstellovich1967

Gebruiker
Lid geworden
25 jul 2017
Berichten
143
Hoi experts onder ons,

In mijn bijgesloten bestand (Master bestand) zou ik de gekleurde cellen willen tellen welke we hanteren in onze matrix.
Door middel van een koppeling naar het originele bestand (Opleidings Matrix) zal in kolom B t/m E het aantal dagen weergeven geven hoelang de certificering nog geldig is. Zoals als voorbeeld is weergegeven in Kolom B T/M E.

Groen is gecertificeerd, Geel is bijna verlopen, Rood is verlopen en Blauw is opleiding.
Dit zal straks automatisch aftellen, omdat sommige werkplekken variabele geldigheidsduur hebben, bij, 365 dagen, 182 dagen of 90 dagen.
In het Master bestand (dit bestandje dus), zou ik graag willen zien hoeveel groene-gele-rode-blauwe cellen zijn gevuld, ik heb van alles al zitten googlen maar kan het niet vinden.

WIE KAN MIJ HIERBIJ HELPEN?


Alvast bedankt,
Rene
 

Bijlagen

Ziet er een logica in tussen de getallen en kleur bv:

Elk negatief getal komt overeen met een rode kleur.
Gele getallen tussen 0 en 10
Groene getallen alles groter dan 10

Als dit zo is kun je de cellen kleuren via voorwaardelijke opmaak en deze zelfde formule gebruiken voor de optelling.

Dit is de meest logische, snelle en eenvoudigste oplossing
 
Er zit geen logica in, sommige zijn 90 dagen geldig, sommige 182 dagen en sommige 365 dagen.
De cellen in kolom B t/m E zullen automatisch verkleuren naar mate aantal dagen afloopt.
Bijv. wp 1 is 30 dagen geldig en zal bij 10 geel kleuren, als deze is verstreken dan wordt de cel rood en geeft deze een negatief getal weer.

Groet,
Rene
 
Zoiets, en er dan nog 1 aftrekken:
Code:
Sub KleurenTellen()
    For Each c In ActiveSheet.UsedRange
        Select Case c.Interior.Color
            Case Range("I2").Interior.Color
                Range("I2") = Range("I2") + 1
            Case Range("I3").Interior.Color
                Range("I3") = Range("I3") + 1
            Case Range("I4").Interior.Color
                Range("I4") = Range("I4") + 1
            Case Range("I5").Interior.Color
                Range("I5") = Range("I5") + 1
        End Select
    Next
End Sub
 
Of:
Code:
Sub KleurenTellen()
    Range("I2").Resize(4).Value = 0
  
    For Each c In ActiveSheet.Range("B2:E5")
        Select Case c.Interior.Color
            Case Range("I2").Interior.Color: Range("I2") = Range("I2") + 1
            Case Range("I3").Interior.Color: Range("I3") = Range("I3") + 1
            Case Range("I4").Interior.Color: Range("I4") = Range("I4") + 1
            Case Range("I5").Interior.Color: Range("I5") = Range("I5") + 1
        End Select
    Next
End Sub
 
Laatst bewerkt:
Het is een kwestie van kleuren vergelijken.
Met dank aan AHulpje.
 
Ik heb beide voorstellen geprobeerd maar als een cel in een van de kolommen B t/m E verandert van bijv geel naar rood dan veranderd de telling in kolom I niet mee.....

Wat doe ik hier verkeerd?

Groet,
Rene
 
Geen idee wat je dan hebt gedaan want wat ik in #6 plaatste werkt hier prima.
Het gaat niet automatisch als je dat bedoelt.
Het wijzigen van een kleur triggert geen event.
 
Maar als er een kleur wijzigt wijzigen toch ook de getallen?
Doe het eens zo:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Range("I2").Resize(4).Value = 0
 
    For Each c In ActiveSheet.Range("B2:E5")
        Select Case c.Interior.Color
            Case Range("I2").Interior.Color: Range("I2") = Range("I2") + 1
            Case Range("I3").Interior.Color: Range("I3") = Range("I3") + 1
            Case Range("I4").Interior.Color: Range("I4") = Range("I4") + 1
            Case Range("I5").Interior.Color: Range("I5") = Range("I5") + 1
        End Select
    Next
    Application.EnableEvents = True
End Sub
 
Of in de
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
Die doet het bij mij prima.
Heb je hem wel ontgrendeld?
Ga in een gekleurde cel staan, haal de kleur weg en ga naar een andere cel.
 
Maak de cellen I2:I5 eens leeg en klik op een willekeurige cel in het werkblad.
 
Dat bijgesloten bestand werkt hier prima.
 
Ik heb jullie advies uitgevoerd en werkt naar behoren.
Vraagje, in welke range wordt er nu gekeken? B t/m E? Kan ik dit ergens terugvinden, bijv in de code?

Groet,
Rene
 
Volgens mij is dat hier toch erg duidelijk:
For Each c In ActiveSheet.Range("B2:E5")
 
Ik heb nog een bestand van @EvR die wel triggert bij het wijzigen van een kleur.
Het is heel erg ingewikkeld.

Overigens kan ik lid @EvR hier niet meer vinden op het forum (ja een oude van 2007 met 0 berichten).
Waarschijnlijk heeft hij zich kortgeleden afgemeld.
 
Ik heb in i2 en i5 de eigen gemaakte functie staan. Maar waarom word deze pas uitgevoerd als ik op f9 druk en niet na het vullen een cel met een achtergrond kleur
Het vb met de functie onder het werkblad werk wel direct na het verplaatsen naar een andere cel van de cursor
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan