kann man farbige Zellen zählen?
Ich habe in der Spalte "D" einige Zellen die haben eine grüne (helle) Einfärbung, habe dies
durch eine BedingteFormatierung erreicht,
herz. KURT
D | E | F | |
1 | |||
2 | 1 | -1 | |
3 | 1 | 4 | |
4 | 5 | 2 | |
5 | 1 | 0 | |
6 | 5 | 22 | 3 |
Formeln der Tabelle | ||||
| ||||
Enthält Matrixformel: Umrandende { } nicht miteingeben, sondern Formel mit STRG+SHIFT+RETURN abschließen! | ||||
Matrix verstehen |
Bedingte Formatierungen der Tabelle | |||||||||||||||||||||
|
G | H | |
2 | -1 | |
3 | 0 | |
4 | 1 | |
5 | 2 | |
6 | 3 | 3 |
Formeln der Tabelle | ||||
| ||||
Enthält Matrixformel: Umrandende { } nicht miteingeben, sondern Formel mit STRG+SHIFT+RETURN abschließen! | ||||
Matrix verstehen |
Bedingte Formatierungen der Tabelle | ||||||||||||||||||
|
F | G | |
4 | 3 | 150 |
5 | 120 | |
6 | 155 | |
7 | 199 | |
8 | 200 | |
9 |
Formeln der Tabelle | ||||
| ||||
Enthält Matrixformel: Umrandende { } nicht miteingeben, sondern Formel mit STRG+SHIFT+RETURN abschließen! | ||||
Matrix verstehen |
Bedingte Formatierungen der Tabelle | |||||||||||||||||||||
|
Function BedingungAdd(Zellen As Range, farbe As Integer) As Double
Dim Zelle As Range
Dim farben As Integer
Application.Volatile
For Each Zelle In Zellen
farben = GetCellColor(Zelle)
If farben = farbe Then
BedingungAdd = BedingungAdd + 1
End If
Next
End Function
Function GetCellColor(cell As Range) As Integer
Dim i
Dim myVal
Dim myColor As Integer
Dim done As Boolean
On Error Resume Next
Names("testname").Delete
On Error GoTo 0
Application.ReferenceStyle = xlR1C1
myVal = cell.Value
myColor = cell.Interior.ColorIndex
done = False
For i = 1 To cell.FormatConditions.Count
With cell.FormatConditions.Item(i)
If .Type = 1 Then
Select Case .Operator
Case xlBetween
If (myVal >= Evaluate(.Formula1) And myVal = Evaluate(.Formula2)) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlEqual
If myVal = Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreater
If myVal > Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlGreaterEqual
If myVal >= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLess
If myVal Evaluate(.Formula2) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotEqual
If myVal Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
End Select
ElseIf .Type = 2 Then
Names.Add Name:="testname", RefersToR1C1Local:=.Formula1
If Evaluate("testname") Then
myColor = .Interior.ColorIndex
done = True
End If
Names("testname").Delete
Else
MsgBox "Unbekannter Typ: " & .Type, , "PANIC: In
Function GetCellColor"
Exit Function
End If
End With
If done Then Exit For
Next
Application.ReferenceStyle = xlA1
GetCellColor = myColor
End Function