Individuelle Formeln: SUMMEWENNFARBE und ZAEHLENWENNFARBE

VBA und Makros
Codeschnipsel
Arbeitsblatt
Formel
UDF
Farbe
Anzahl
Excel

Ausgangslage - Was tut dieser Code-Schnipsel?

Immer wieder nützliche Formeln:
SUMMEWENNFARBE(<Vergleichszelle>;<Summenbereich>) - Summiert alle gleichfarbigen Zellen.
ZAEHLENWENNFARBE(<Vergleichszelle>;<Zaehlbereich>) - Zählt alle gleichfarbigen Zellen.

Wichtiger Hinweis: Farbveränderungen haben in Excel keine Neuberechnung zur Folge!!! Für Abhilfe kann die Prozedur OVBAde_KomplettBerechnung (siehe unten) verwendet werden. Evtl. können Sie sich einen neuen Schalter erstellen und diesen mit Komplettberechnung betiteln und die Prozedur aufrufen.

Der Quelltext

Option Explicit
' Original-Quelltext unter: https://www.online-vba.de/individuelle-formel-summewennfarbe-und-zaehlenwennfarbe
' Express-Hilfe für VBA unter https://www.online-vba.de/vba-expresshilfe
' Es gelten die Nutzungsbedingungen von Online-VBA.de

Public Function SUMMEWENNFARBE(ByRef FarbZelle As Range, ByRef ZaehlBereich As Range) As Double
  Dim lColorIndex As Long
  Dim dSumme As Double
  Dim oCell As Object
    
    lColorIndex = FarbZelle.Interior.ColorIndex
    dSumme = 0
    For Each oCell In ZaehlBereich.Cells
        If oCell.Interior.ColorIndex = lColorIndex Then
            If IsNumeric(oCell.Value) = True Then
                dSumme = dSumme + CDbl(oCell.Value)
            End If
        End If
    Next
    
    SUMMEWENNFARBE = dSumme
    
    Set oCell = Nothing
End Function

Public Function ZAEHLENWENNFARBE(ByRef FarbZelle As Range, ByRef ZaehlBereich As Range) As Long
  Dim lColorIndex As Long
  Dim lCount As Long
  Dim oCell As Object
    
    lColorIndex = FarbZelle.Interior.ColorIndex
    lCount = 0
    For Each oCell In ZaehlBereich.Cells
        If oCell.Interior.ColorIndex = lColorIndex Then
            lCount = lCount + 1
        End If
     Next
    
    ZAEHLENWENNFARBE = lCount
    
    Set oCell = Nothing
End Function

Public Sub OVBAde_KomplettBerechnung()
    Application.CalculateFull
End Sub

Anmerkungen und Hinweise

Wichtiger Hinweis: Farbveränderungen haben in Excel keine Neuberechnung zur Folge!!! Für Abhilfe kann die Prozedur OVBAde_KomplettBerechnung (siehe unten) verwendet werden. Evtl. können Sie sich einen neuen Schalter erstellen und diesen mit Komplettberechnung betiteln und die Prozedur aufrufen.
Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2013.
Die Nutzung erfolgt auf eigene Gefahr. Bitte denken Sie immer zuerst an eine ausreichende Datensicherung. Wir können keinen kostenlosen Support anbieten. Es gelten unsere Nutzungs­bedingungen.


So einfach läuft unsere VBA-Expresshilfe ab

1
Senden Sie uns Ihre Office-Datei oder Ihren VBA-Code (gerne anonymisiert) mit einer kurzen Problembeschreibung oder Ihrem Erweiterungswunsch per E-Mail.
2
Wir analysieren Ihr Anliegen schnell und schicken Ihnen umgehend (tagsüber meist innerhalb von 1-2 Stunden) ein Festpreis-Angebot.
3
Nach Ihrer Zustimmung lösen wir Ihr Problem (meist noch am gleichen Tag) oder setzen Ihre Erweiterung zuverlässig um – inklusive verständlicher Dokumentation der durchgeführten Maßnahmen.

Jetzt kontaktieren!







Mit einem * gekennzeichnete Eingabefelder sind Pflichtfelder.
Datenschutzhinweise zum Kontaktformular: Die von Ihnen im Kontaktformular bereitgestellten Daten werden ausschließlich zur Bearbeitung Ihrer Anfrage verwendet und nicht ohne Ihre Zustimmung an Dritte weitergegeben. Ihre Daten werden nur für den Zeitraum gespeichert, der zur Bearbeitung Ihrer Anfrage erforderlich ist. Weitere Hinweise zum Datenschutz finden Sie in unserer Datenschutzerklärung.
Hinweis: Für die vollständige Funktion dieser Website ist JavaScript erforderlich.
Bitte aktivieren Sie JavaScript in Ihrem Browser, um alle Inhalte und interaktiven Funktionen nutzen zu können.