Individuelle Formeln: SUMMEWENNFARBE und ZAEHLENWENNFARBE
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 Nutzungsbedingungen.