Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Farbige Zellen zählen





Frage

Hallo Excel-Experten, habe noch ein Problem( hoffentlich werde ich nicht lästig). Und zwar habe ich eine Lotto-Tabelle mit einer bedingten Formatierung. Alle richtigen Zahlen werden rot markiert. Jetzt möchte ich gerne , das mir die Anzahl der rot markierten Zahlen angezeigt wird, aber erst ab 4 Richtige. Ist das möglich ?? Ich glaube jetzt wird es schwieriger. Vielen Dank im voraus, für eure kompetente Hilfe. Gruß Peter

Antwort 1 von nighty

hi Peter:)

farbindex einer bedingten formatierung zaehlen und ausgabe ab 4.

gruss nighty

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
If BedingungAdd < 4 Then BedingungAdd = 0
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)) _
Or (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(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlLessEqual
If myVal <= Evaluate(.Formula1) Then
myColor = .Interior.ColorIndex
done = True
End If
Case xlNotBetween
If myVal < Evaluate(.Formula1) Or 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


Antwort 2 von piter

hallo nighty,

danke für die schnelle Hilfe.

Leider kenne ich mich mit VBA nicht aus.
Hab gedacht, mit einer Formel könnte man das erledigen.

Gruß Peter

Antwort 3 von nighty

hi peter :)

die erste function ist eine formel,beide sind einzufuegen unter alt f11(vbeditor)/einfuegen/modul

anschliessend ist die formel BedingungAdd wie jede andere anwaehlbar,bereichsangabe wie farbindex anzugeben sind.

gruss nighty

Antwort 4 von want2cu

Hallo Peter,

wenn du die Zahlen doch mit einer bedingten Formatierung anzeigen läßt, dann müßte es doch im Prinzip möglich sein, diese Formel in Verbindung mit Zählenwenn bzw WENN zu benutzen.
Ehe ich mri jetzt den Kopf zerbreche, schreibe doch erst mal, wie deine Formel für die bedingte Formatierung lautet. Dann kann man m.E. auch eine reine Formellösung basteln.

CU
want2cu

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: