Ik heb de tekst helaas niet aangepast. Ik had een formule staan waarbij je verwijst naar een kleur en een optelbereik. Als de cellen in het optelbereik dezelfde kleur hebben als de eerste cel, dan worden ze meegeteld. Bevatten ze een andere kleur, dan niet meer.
Deze formule heb ik iets aangepast tot de code die ik jou heb gegeven, alleen heb ik de tekst niet aangepast.
Hieronder de code:
'Deze functie in je moduleblad plaatsen, met som_als_kleur(A1;A2:A33) worden alle cellen opgeteld
'in range(a2:a33) met als achtergrond kleur die van a1
' Hou er wel rekening mee dat bij het wijzigen van alleen de kleur van de cel er geen automatische herberekening
' wordt uitgevoerd, dus even op F9 drukken. Bij het wijzigen van een waarde volgt wel een herbereking
' Met deze functie kun je 2 ranges op geven, niet meer zonder de functie aan te passen
Function Aantal_als_kleur(kleur As Range, Range1, Optional Range2) As Double
On Error GoTo ErrorHandler
Dim objCell As Range
Application.Volatile
Aantal_als_kleur = 0
CellBackGround = kleur.Interior.ColorIndex
For Each objCell In Intersect(Range1, _
Range1.Parent.UsedRange)
If objCell.Interior.ColorIndex = CellBackGround Then _
Aantal_als_kleur = Aantal_als_kleur + 1
Next objCell
If Not IsMissing(Range2) Then
For Each objCell In Intersect(Range2, _
Range2.Parent.UsedRange)
If objCell.Interior.ColorIndex = CellBackGround Then _
Aantal_als_kleur = Aantal_als_kleur + 1
Next objCell
End If
Exit Function
ErrorHandler: ' Hier wordt fout afgehandeld
Select Case Err.Number
Case 1004
'plakken geeft een foutmelding
MsgBox "Bij plakken wordt de kleur niet aangepast!", vbOKOnly, "Let op:"
Case Else
MsgBox "Er is een fout ontstaan" & Chr(13) & _
"Foutnummer: " & (Str(Err.Number) & Chr(13) & _
"Foutomschrijving: " & Err.Description)
End Select
End Function