Zellen mit einer bestimmten Farbe in Excel zählen oder summieren
Die Beispielarbeitsmappe herunterladen
In diesem Tutorial zeigen wir Ihnen, wie Sie mithilfe von VBA Zellen mit einer bestimmten Hintergrundfarbe zählen oder summieren können.
Betrachten Sie den folgenden Bereich in Excel.
In Excel gibt es keine integrierte Funktion zum Zählen farbiger Zellen. Stattdessen müssen wir eine benutzerdefinierte Funktion mit VBA erstellen.
Erstellen einer benutzerdefinierten VBA-Funktion zum Zählen von Zellen
Wenn Sie mit VBA zählen möchten, wie viele Zellen eine bestimmte Farbe haben, müssen Sie eine benutzerdefinierte Funktion (UDF) erstellen, die in einer Schleife alle Zellen im Bereich durchläuft und feststellt, ob die Hintergrundfarbe jeder Zelle mit der gewünschten Hintergrundfarbe übereinstimmt, und diese Funktion dann im Excel-Arbeitsblatt verwenden.
In VBA erstellen wir eine Funktion zum Zählen der ausgewählten Zellen.
Function ZellenNachFarbeZaehlen(rng As Range, FarbZelle As Range) As Double
Dim dblAnzahl As Double
Dim rngZelle As Range
'Alle Zellen im Bereich durchlaufen
For Each rngZelle In rng
'Prüfen, ob die Innenfarbe dieselbe ist wie die der ausgewählten Zelle
If rngZelle.Interior.Color = FarbZelle.Interior.Color Then
If IsNumeric(rngZelle.Value) = True Then
'Die Anzahl um 1 erhöhen, wenn die Farbe stimmt.
dblAnzahl = dblAnzahl + 1
End If
End If
Next
'Rückgabe des Wertes an Excel
ZellenNachFarbeZaehlen = dblAnzahl
End Function
Verwenden Sie dann diese Funktion im Arbeitsblatt, um den Wert zurückzugeben.
=ZellenNachFarbeZaehlen
(B3:E11;G5)
- Klicken Sie in die orangefarbene Zelle in G5, und klicken Sie auf Funktion einfügen.
- Wählen Sie als Kategorie Benutzerdefiniert und dann ZellenNachFarbeZaehlen als die zu verwendende Funktion aus.
- Klicken Sie auf OK.
- Markieren Sie den Bereich, der alle farbigen Zellen enthält.
- Wählen Sie das Argument FarbZelle aus, und klicken Sie dann auf OK.
Wiederholen Sie den Vorgang, um die Zellen mit einer grünen Hintergrundfarbe zu zählen.
=ZellenNachFarbeZaehlen
(B3:E11;G5)
Erstellen einer benutzerdefinierten VBA-Funktion zum Summieren von Zellen
Wir erstellen eine ähnliche benutzerdefinierte Funktion in VBA, um die Werte der Zellen mit einer bestimmten Farbe zu summieren.
Function ZellenNachFarbeSummieren(rng As Range, FarbZelle As Range) As Double
Dim dblSumme As Double
Dim rngZelle As Range
'Alle Zellen im Bereich durchlaufen
For Each rngZelle In rng
'Prüfen, ob die Innenfarbe dieselbe ist wie die der ausgewählten Zelle
If rngZelle.Interior.Color = FarbZelle.Interior.Color Then
If IsNumeric(rngZelle.Value) = True Then
'den Wert zu Ihrer Variablen hinzufügen, wenn die Farbe stimmt
dblSumme = dblSumme + rngZelle.Value
End If
End If
Next
'Return the value to Excel
ZellenNachFarbeSummieren = dblSumme
End Function
Wir würden dann wieder diese Funktion im Arbeitsblatt verwenden, um die erforderlichen Zellen zu summieren.
=ZellenNachFarbeSummieren
(B3:E11;G8)