VBA-Beispiel 010 b
mail schreiben
mail schreiben

Zellfarbe ermitteln und Bereich zählen

Nochmal zwei Beispiele zur Zellfarbe:

Beide Makros erfüllen den gleichen Zweck. Das zweite Makro ist aber etwas besser da es ohne activate auskommt.
Zunächst wird in der ersten Spalte einer Zeile die Hintergrundfarbe der Zelle ermittelt. Dann wird in den folgenden 9 Spalten die Anzahl der Zellen mit eben dieser Hintergrundfarbe ermittelt und der Wert in Spalte K eingetragen.
Sub Farbe_zählen()
Dim farbe As Integer, i As Integer, z As Integer
Dim x As Integer, y As Integer

Range("A1").Select
   'Zeilenweise
    For z = 1 To 10
        farbe = ActiveCell.Interior.ColorIndex
               'Spalten
                y = 0
                For x = 1 To 9
                    ActiveCell.Offset(0, 1).Select
                    If Selection.Interior.ColorIndex = farbe Then
                    y = y + 1
                    End If
                Next x
    ActiveCell.Offset(0, 1) = y
    ActiveCell.Offset(1, -9).Select
    Next z
End Sub



Sub Farbe2()
Dim farbe As Integer, x As Integer, i As Integer
Dim c As Range

For x = 1 To 10
i = 0
farbe = Cells(x, 1).Interior.ColorIndex

    For Each c In Range(Cells(x, 2), Cells(x, 10))
        If c.Interior.ColorIndex = farbe Then
        i = i + 1
        End If
    Next c
Cells(x, 11) = i
Next x

End Sub

Download:   vba010b.zip