Thomas Risi Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer - WebServices

CountCellsByColor

Diese Funktion zählt das Vorkommen einer bestimmten Farbe innerhalb eines Exceltabellenbereiches (Parameter Bereich). Der Parameter Referenz bestimmt, WIE gezählt wird. Wird hier eine Zahl zwischen 0 und 56 übergeben, wird in den Zellen (in Bereich) mit dem gleichen Farbindex gezählt. Wird bei Referenz ein Excelbereich (Zelle) übergeben, wird in allen Zellen gezählt, die dem Farbindex der Referenz entsprechen. Der Parameter Reason bestimmt WAS gezählt wird. Wenn er 0 ist oder nicht angegeben wird, dann wird die Anzahl der Zellen mit dem gleichen Farbindex gezählt. Ist Reason 1, wird der Inhalt aller Zellen mit dem gleichen Farbindex summiert.

Option Explicit
Public Enum CCBRReason xlCells = 0 xlCellValues = 1 End Enum
Public Function CountCellsByColor(Bereich As Range, Referenz As Variant, _ Optional Reason As CCBRReason) As Double
Dim i&, n&, cIndex&, c As Range, Sum#: Sum = 0
If TypeOf Referenz Is Excel.Range Then cIndex = Referenz.Interior.ColorIndex Else If Referenz < 0 Or Referenz > 56 Then ' 0 = Farblos Err.Raise 11000, , "Falscher Referenz-Index" End If cIndex = Referenz End If
If IsMissing(Reason) Or Reason = 0 Then For Each c In Bereich If c.Interior.ColorIndex = cIndex Then Sum = Sum + 1 End If Next c Else On Error Resume Next For Each c In Bereich If c.Interior.ColorIndex = cIndex Then Sum = Sum + c.Value End If Next c On Error GoTo 0 End If
CountCellsByColor = Sum
End Function


Wie nützlich finden Sie diesen Tipp?
1 2 3 4 5
Weniger nützlich Sehr nützlich
Bitte teilen Sie uns mit, warum Sie die Seite so bewertet haben. (optional)