Grüezi Diana
Danke! Das war genau einer meiner Fehler: ich hatte keine
Ahnung, was sich da mit Alt F11 öffnet. Ich hab immer den Code
in das sich da öffnende Fenster geschrieben und kein neues
Modul erzeugt! Das kommt davon, wenn man keine Ahnung hat 
Keine Ahnung von etwas zu haben ist keine Schande - Du hast ja fix gelernt und umgesetzt 
Aber es wäre ja zuu einfach, wenn das schon alle meine
Probleme lösen würde. Hier die nächste Hürde: wie kann ich die
Hintergrundfarbenabfrage verknüpfen mit der Schrift darin? Ich
möchte nur dann summieren, wenn die Farbe grün ist UND ein
blaues x in dem Feld steht.
[Code gesnippt]
Nochmal Danke schön für die Lösung des Hauptproblems! 
Na, dann versuchen wir uns doch auch noch auf dem Nebenschauplatz 
Die folgende Funktion lässt (fast) keine Wünsche mehr offen und richtei sich immer nach einer Zelle die genau so formatiert ist wie diejenigen die Du prüfen willst. Der Inhalt der Zelle, hier also das ‚x‘ wird dabei ausser Acht gelassen.
Für jeden Typen des Formates ist einer der 4 Parameter verantwortlich, wenn Du eine ‚1‘ oder WAHR setzt wird er berücksichtigt.
Schau dir auch die Kommentare im Code drin gut an - das Ganze hat nämlich einen groben Haken, weil keine Formeln neu berechnet werden, wenn sich das Format einer Zelle ändert.
Public Function ZählenWennFormat(Bereich As Range, \_
ReferenzZelle As Range, \_
Optional ZellenFarbe As Boolean = True, \_
Optional ZellenMuster As Boolean = False, \_
Optional SchriftFarbe As Boolean = False, \_
Optional SchriftFett As Boolean = False, \_
Optional SchriftKursiv As Boolean = False) \_
As Variant
'© [email protected], 26.08.2009
'Funktion zur Anwendung von ZÄHLENWENN() mit Hintergrund-,
'Schriftfarbe, Fett, Kursiv als Zählkriterium
'Beliebig erweiterbar um weitere Kriterien
'
'Die Parametereingabe erfolgt in derselben Reihenfolge
'wie in der Funktion ZÄHLENWENN():
' - Der erste Parameter erwartet den Suchbereich
' - Der zweite Parameter erwartet einen Zellbezug der als Kriterium
' verwendet wird - die einzelnen Formate werden aus dieser Zelle ermittelt
' - Der dritte Parameter erwartet Wahr/Falsch für die Hintergrund-Farbe
' - Der vierte Parameter erwartet Wahr/Falsch für die Schrift-Farbe
' - Der fünfte Parameter erwartet Wahr/Falsch für fette Schrift
' - Der sechste Parameter erwartet Wahr/Falsch für kursive Schrift
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0\*JETZT()) und durch F9 drücken die Funktion aktualisieren
'Also z.B. wie folgt: =ZählwenWennFarbe(A1:A10;A1)+(0\*JETZT())
Dim lngI As Long
Dim varWerte As Variant
Dim varKrit1 As Variant
Dim varKrit2 As Variant
Dim Anzahl As Long
If Bereich.Rows.Count \> 1 And Bereich.Columns.Count \> 1 Then
ZählenWennFormat = CVErr(xlErrRef)
Exit Function
End If
ReDim varWerte(1 To Bereich.Count)
'Prüfen auf die Farbe der Zelle
If ZellenFarbe Then
varKrit1 = ReferenzZelle(1).Interior.ColorIndex
For lngI = 1 To Bereich.Count
If Bereich(lngI).Interior.ColorIndex varKrit1 Then
varWerte(lngI) = 0
End If
Next
End If
'Prüfen auf das Muster der Zelle
If ZellenMuster Then
varKrit1 = ReferenzZelle(1).Interior.Pattern
varKrit2 = ReferenzZelle(1).Interior.PatternColorIndex
For lngI = 1 To Bereich.Count
If (Bereich(lngI).Interior.Pattern varKrit1) Or \_
(Bereich(lngI).Interior.PatternColorIndex varKrit2) Then
varWerte(lngI) = 0
End If
Next
End If
'Prüfen auf die Farbe der Schrift
If SchriftFarbe Then
varKrit1 = ReferenzZelle(1).Font.ColorIndex
For lngI = 1 To Bereich.Count
If Bereich(lngI).Font.ColorIndex varKrit1 Then
varWerte(lngI) = 0
End If
Next
End If
'Prüfen auf fette Schrift
If SchriftFett Then
varKrit1 = ReferenzZelle(1).Font.Bold
For lngI = 1 To Bereich.Count
If Bereich(lngI).Font.Bold varKrit1 Then
varWerte(lngI) = 0
End If
Next
End If
'Prüfen auf kursive Schrift
If SchriftKursiv Then
varKrit1 = ReferenzZelle(1).Font.Italic
For lngI = 1 To Bereich.Count
If Bereich(lngI).Font.Italic varKrit1 Then
varWerte(lngI) = 0
End If
Next
End If
ZählenWennFormat = Bereich.Count - WorksheetFunction.Count(varWerte)
End Function
Mit freundlichen Grüssen
Thomas Ramel