farbige zellen zählen
#1
hallo zusammen!
Ich möchte zellen mit gleichem inhalt (buchstabe "N") aber mit unterschiedlichen hintergrundfarben (entweder orange oder rosa) zählen,
wie mache ich das am einfachsten?


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Hallo,

wie bekommen die Zellen denn ihre Farbe?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallöchen,

Zitat:wie mache ich das am einfachsten?
mit einem Makro, wenn Du VBA kannst.

Grundlage wäre etwas wie

Sub test()
MsgBox Range("A1").DisplayFormat.Interior.Color
End Sub

was unabhängig von der Herkunft der Färbung ("normale" Füllfarbe, bedingte Formatierung) ist. Du müsstest jetzt in einer Schleife über alle entsprechenden Datenzellen gehen ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#4
Moin,

den Code:
Code:
Function AnzahlFarbigeZellen(Bereich As Range)
Dim Zelle As Range, n As Long
    Application.Volatile
    For Each Zelle In Bereich
        If Zelle.Interior.ColorIndex <> xlNone Then
            n = n + 1
        End If
    Next Zelle
    AnzahlFarbigeZellen = n
End Function
in ein Modul und diese Formel:
Code:
=anzahlfarbigezellen(B1:F1)
in Zelle A1 eingeben. Nun zählt A1 alle farbigen Zellen im Bereich B1:F1. Allerdings nicht die bed. format. Zellen. In diesem Falle müssten anderen dir weiterhelfen.
(Code und Formel aus CEF, Danke 21 )

Interpunktion und Orthographie dieses Textes sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Grüße, StefanB
Antworten Top
#5
Hallo Rehu,

hier ein paar Funktionen.
Code:
'
' Summe bei gleichen Schriftfarben im angegebenen Bereich der Formel
' Schriftfarben, wie in der Formelzelle vorgegeben, die Formel prüft keine Zellwerte
' Nach ändern der Schriftfarbe mit F9 Summe neu Berechnen
'
' *** hddiesel ***  Stand: August 2022
'
Public Function Summe_SuchBereich_FontFarbe(RngBereich As Range, FontSuchFarbe As Range) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Font.ColorIndex = FontSuchFarbe.Font.ColorIndex And IsNumeric(Zelle.Value) Then
            Summe_SuchBereich_FontFarbe = Summe_SuchBereich_FontFarbe + Zelle.Value
        End If
    Next
End Function

'
' Summe bei gleichen Zellhintergrundfarben im angegebenen Bereich der Formel
' Zellhintergrundfarben, wie in der Formelzelle vorgegeben, die Formel prüft keine Zellwerte
' Nach ändern der Schriftfarbe mit F9 Summe neu Berechnen
'
Public Function Summe_SuchBereich_ZellFarbe(RngBereich As Range, ZellSuchFarbe As Range) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Interior.ColorIndex = ZellSuchFarbe.Interior.ColorIndex And IsNumeric(Zelle.Value) Then
            Summe_SuchBereich_ZellFarbe = Summe_SuchBereich_ZellFarbe + Zelle.Value
        End If
    Next
End Function

'
' Anzahl bei gleichen Schriftfarben im angegebenen Bereich der Formel
' Schriftfarben, wie in der Formelzelle vorgegeben, die Formel prüft keine Zellwerte
' Nach ändern der Schriftfarbe mit F9 Summe neu Berechnen
'
Public Function Anzahl_SuchBereich_FontFarbe(RngBereich As Range, FontSuchFarbe As Range) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Font.ColorIndex = FontSuchFarbe.Font.ColorIndex Then
            Anzahl_SuchBereich_FontFarbe = Anzahl_SuchBereich_FontFarbe + 1
        End If
    Next
End Function


'
' Anzahl bei gleichen Zellhintergrundfarben im angegebenen Bereich der Formel
' Zellhintergrundfarben, wie in der Formelzelle vorgegeben, die Formel prüft keine Zellwerte
' Nach ändern der Schriftfarbe mit F9 Summe neu Berechnen
'
Public Function Anzahl_SuchBereich_ZellFarbe(RngBereich As Range, ZellSuchFarbe As Range) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Interior.ColorIndex = ZellSuchFarbe.Interior.ColorIndex Then
            Anzahl_SuchBereich_ZellFarbe = Anzahl_SuchBereich_ZellFarbe + 1
        End If
    Next
End Function


'
' Summe bei gleichen Schriftfarben im angegebenen Bereich der Formel
' Schriftfarben, wie in der Formelzelle vorgegeben, die Formel prüft auch die angegebenen Zellwerte
' Nach ändern der Schriftfarbe mit F9 Summe neu Berechnen
'
Public Function Summe_SuchBereich_FontFarbe_ZellWert(RngBereich As Range, FontSuchFarbe As Range, ZellSuchWert As Variant) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Font.ColorIndex = FontSuchFarbe.Font.ColorIndex And IsNumeric(Zelle.Value) And Zelle.Value = ZellSuchWert Then
            Summe_SuchBereich_FontFarbe_ZellWert = Summe_SuchBereich_FontFarbe_ZellWert + Zelle.Value
        End If
    Next
End Function

'
' Summe bei gleichen Zellhintergrundfarben im angegebenen Bereich der Formel
' Zellhintergrundfarben, wie in der Formelzelle vorgegeben, die Formel prüft auch die angegebenen Zellwerte
' Nach ändern der Zellfarbe mit F9 Summe neu Berechnen
'
Public Function Summe_SuchBereich_ZellFarbe_ZellWert(RngBereich As Range, ZellSuchFarbe As Range, ZellSuchWert As Variant) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Interior.ColorIndex = ZellSuchFarbe.Interior.ColorIndex And IsNumeric(Zelle.Value) And Zelle.Value = ZellSuchWert Then
            Summe_SuchBereich_ZellFarbe_ZellWert = Summe_SuchBereich_ZellFarbe_ZellWert + Zelle.Value
        End If
    Next
End Function

'
' Anzahl der gleichen Schriftfarben im angegebenen Bereich der Formel
' Schriftfarben, wie in der Formelzelle vorgegeben, die Formel prüft auch die angegebenen Zellwerte
' Nach ändern der Schriftfarbe mit F9 Summe neu Berechnen
'
Public Function Anzahl_SuchBereich_FontFarbe_ZellWert(RngBereich As Range, FontSuchFarbe As Range, ZellSuchWert As Variant) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Font.ColorIndex = FontSuchFarbe.Font.ColorIndex And Zelle.Value = ZellSuchWert Then
            Anzahl_SuchBereich_FontFarbe_ZellWert = Anzahl_SuchBereich_FontFarbe_ZellWert + 1
        End If
    Next
End Function

'
' Anzahl der gleichen Zellhintergrundfarben im angegebenen Bereich der Formel
' Zellhintergrundfarbe, wie in der Formelzelle vorgegeben, die Formel prüft auch die angegebenen Zellwerte
' Nach ändern der Zellfarbe mit F9 Summe neu Berechnen
'
Public Function Anzahl_SuchBereich_ZellFarbe_ZellWert(RngBereich As Range, ZellSuchFarbe As Range, ZellSuchWert As Variant) As Double
    Dim Zelle As Range
    Application.Volatile
    For Each Zelle In RngBereich
        If Zelle.Interior.ColorIndex = ZellSuchFarbe.Interior.ColorIndex And Zelle.Value = ZellSuchWert Then
            Anzahl_SuchBereich_ZellFarbe_ZellWert = Anzahl_SuchBereich_ZellFarbe_ZellWert + 1
        End If
    Next
End Function
Gruß Karl
Antworten Top
#6
Die mache ich selber
Antworten Top
#7
Hola,
gibt es eine Logik für die Färbung die man über die bedingte Formatierung automatisieren könnte?
Gruß,
steve1da
Antworten Top
#8
@StefanB

Zitat:Allerdings nicht die bed. format. Zellen.
siehe meine Antwort vor Deiner Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste