Thomas Risi Softwareentwicklung

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

Bewerten Sie bitte dieses Programm.
1 2 3 4 5
Weniger nützlich Sehr nützlich
Bitte teilen Sie uns mit, warum Sie das Programm so bewertet haben. (optional)