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

Cellen optellen in functie van celkleur

Status
Niet open voor verdere reacties.

nesta1983

Gebruiker
Lid geworden
14 mei 2013
Berichten
55
Voor het verspreiden van onze maandelijkse brochure, had ik graag de cellen opgeteld in functie van de opgegeven celkleur.
Blauw = aanwezig
Oranje = afwezig
Geel = geen interesse meer
Kan iemand mij hiermee aub verderhelpen? Simpele functie...ik ben geen fervente excel-gebruiker.

Bekijk bijlage test.xlsx
 
Hi Nesta,

Met onderstaande UDF (met dank aan Cobbe)

Code:
Function CountByColor(InputRange As Range, ColorRange As Range) As Long
Dim cl As Range, TempCount As Long, ColorIndex As Integer
    ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
    TempCount = 0
    For Each cl In InputRange.Cells
        If cl.Interior.ColorIndex = ColorIndex Then
            TempCount = TempCount + 1
        End If
    Next cl
    Set cl = Nothing
    CountByColor = TempCount
End Function

Joske
Bekijk bijlage kleurentellen 08092014.xlsm
 
Is het 'om een beetje uitleg vragen' teveel van het goeie?

Hi Nesta,

Met onderstaande UDF (met dank aan Cobbe)

Code:
Function CountByColor(InputRange As Range, ColorRange As Range) As Long
Dim cl As Range, TempCount As Long, ColorIndex As Integer
    ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
    TempCount = 0
    For Each cl In InputRange.Cells
        If cl.Interior.ColorIndex = ColorIndex Then
            TempCount = TempCount + 1
        End If
    Next cl
    Set cl = Nothing
    CountByColor = TempCount
End Function

Joske
Bekijk bijlage 218141
 
Nesta,

Er is niet echt veel aan uit te leggen.

Code:
Function CountByColor(InputRange As Range, ColorRange As Range) As Long
'Declareren van de variabelen
Dim cl As Range, TempCount As Long, ColorIndex As Integer
'Variabele ColorIndex
    ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
'Je begint bij de eerste cel in je bereik
    TempCount = 0
'Hiermede loop je alle cellen door in je bereik
    For Each cl In InputRange.Cells
        If cl.Interior.ColorIndex = ColorIndex Then
            TempCount = TempCount + 1
        End If
    Next cl
    Set cl = Nothing
'Hiermede bekom je het aantal
    CountByColor = TempCount
End Function

In mijn voorbeeldje hierboven heb ik de formule reeds in "Bereik A" geplaatst.

Code:
=CountByColor(B3:F7;D2)

B3:B7 is je bereik
D2 is je kleur

Hoop dat het hiermee duidelijker is.

Joske
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan