Dit kan volgens mij alleen in VBA
Doe het volgende in Excel:
alt + F11 (VBA wordt geopend)
Invoegen>Modulen
Plak vervolgens de volgende code in de module:
'-------------------------------------------------------------------------------------------
Option Explicit
Dim myRange As Range
Dim cell As Range
Dim r, c, i As Integer
Dim nr As Long
Sub KleurenTellen()
'de laatste active cel wordt opgezocht
ActiveCell.SpecialCells(xlLastCell).Select
ActiveCell.Name = ("laatste")
'bepaalt het totale bereik van alle cellen
Set myRange = Range("A1:laatste")
'de grote van de array wordt bepaalt (rij en kolom)
ReDim rKleur(myRange.Rows.Count, myRange.Columns.Count) As Integer
ReDim Kleur(i) As Integer
Range("A1").Select
'------------------------------------------------------------
For r = 1 To myRange.Rows.Count
For c = 1 To myRange.Columns.Count
'de array rKleur wordt gevuld met gegevens
rKleur(r, c) = myRange.Cells(r, c).Interior.ColorIndex
'elke aparte kleur wordt in de 2e array Kleur vastgelegd
If Kleur(i) <> rKleur(r, c) Then
For i = 0 To UBound(Kleur)
If Kleur(i) <> rKleur(r, c) Then
Else
Kleur(i) = rKleur(r, c)
GoTo 10
End If
Next i
i = i - 1
Kleur(i) = rKleur(r, c)
ReDim Preserve Kleur(UBound(Kleur) + 1)
Debug.Print Kleur(i)
End If
10
Next c
Next r
ReDim Preserve Kleur(UBound(Kleur) - 1)
'--------------------------------------------------------
ActiveCell.Offset(myRange.Rows.Count + 1, 0).Range("A1").Select
'de aparte kleuren worden weergegeven en het aantal wordt geteld.
For r = 0 To UBound(Kleur)
ActiveCell.Interior.ColorIndex = Kleur(r)
If ActiveCell.Interior.ColorIndex = Kleur(r) Then
For Each cell In myRange
If cell.Interior.ColorIndex = Kleur(r) Then
nr = nr + 1
ActiveCell.Offset(0, 1).Value = nr
End If
Next
End If
nr = 0
ActiveCell.Offset(1, 0).Select
Next r
End Sub
'-----------------------------------------------------------------------------------------
Sla de module open en slaat VBA af. In de gewone excel omgeving start je de
macro (alt +F8).
veel suc6
Jeroen
Post by GerardHoe kan ik een formule maken waarin ik de gegevens van cellen met een
bepaalde achtergrondkleur bij mekaar optel ?
vb : Als in het bereik a1 tot A50 cellen voorkomen met een grijze
achtergrond, tel dan deze cellen bij mekaar op.
Iets zoals "som.als(a1:a50;"achtergrondkleur = grijs")
Graag een mailtje met eventuele oplossing.
Bedankt bij voorbaat,
Gerard