Supportnet / Forum / Tabellenkalkulation
Felder mit Hintergrundfarbe zählen
Frage
Hallo zusammen,
kann mir (bitte!) jemand sagen, ob es möglich ist, Felder auf Basis der Hintergrundfarbe zu zählen, summieren etc. ...?
Danke im Voraus!
Alfred
Antwort 1 von fürLau
Hallo Alfred
Ja, das ist möglich - allerdings nur mit einem Makro(VBA).
Dieser Code zählt alle eingefärbten Zellen und schreibt die gefunden Anzahl nach Zelle C2.
Gruß
Ja, das ist möglich - allerdings nur mit einem Makro(VBA).
Option Explicit
Private Sub CommandButton1_Click()
Dim rngCell As Range, i%
For Each rngCell In ActiveSheet.UsedRange
Debug.Print rngCell.Address, rngCell.Interior.ColorIndex
If rngCell.Interior.ColorIndex <> -4142 Then i = i + 1
Next
Range("C2").Value = i
End SubDieser Code zählt alle eingefärbten Zellen und schreibt die gefunden Anzahl nach Zelle C2.
Gruß
Antwort 2 von nighty
hi all :)
vielleicht eine benutzerdefinierte function
gruss nighty
alt/f11/allgemeines modul
einfuegen/function
Rem =SumInteriorColor(A1:A3;3)
Function SumInteriorColor(Zellen As Range, farbe As Long) As Double
Dim Zelle As Range
SumInteriorColor = 0
For Each Zelle In Zellen
If Zelle.Interior.ColorIndex = farbe Then
SumInteriorColor = SumInteriorColor + Zelle.Value
End If
Next
End Function
vielleicht eine benutzerdefinierte function
gruss nighty
alt/f11/allgemeines modul
einfuegen/function
Rem =SumInteriorColor(A1:A3;3)
Function SumInteriorColor(Zellen As Range, farbe As Long) As Double
Dim Zelle As Range
SumInteriorColor = 0
For Each Zelle In Zellen
If Zelle.Interior.ColorIndex = farbe Then
SumInteriorColor = SumInteriorColor + Zelle.Value
End If
Next
End Function
Antwort 3 von nighty
hi all :)
Rem =SumInteriorColor(Bereich;FarbWahl)
gruss nighty
Rem =SumInteriorColor(Bereich;FarbWahl)
gruss nighty
Antwort 4 von nighty
hi all :)
korrigiert :)
gruss nighty
Function SumInteriorColor(Zellen As Range, farbe As Long) As Double
Application.Volatile
Dim Zelle As Range
SumInteriorColor = 0
For Each Zelle In Zellen
If Zelle.Interior.ColorIndex = farbe Then
SumInteriorColor = SumInteriorColor + Zelle.Value
End If
Next
End Function
korrigiert :)
gruss nighty
Function SumInteriorColor(Zellen As Range, farbe As Long) As Double
Application.Volatile
Dim Zelle As Range
SumInteriorColor = 0
For Each Zelle In Zellen
If Zelle.Interior.ColorIndex = farbe Then
SumInteriorColor = SumInteriorColor + Zelle.Value
End If
Next
End Function

