Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Farben zählen bei versch. bedingten Formatierungen

Farben zählen bei versch. bedingten Formatierungen
03.06.2007 12:16:00
KiaOra
Hi Ihr, ;-)
würde gerne per VBA alle Zellen mit einer bestimmten Hintergrundfarbe (ColorIndex = "37") zählen und das Ergebnis in eine andere Zelle schreiben lassen.
Problem dabei ist, dass die Hintergrundfarbe aus verschiedenen bedingten Formatierungen mit jeweils verschiedenen Bedingungen resultiert - bisher konnte ich hier nur Posts mit einer einzigen Bedingung finden... :-(
Details:
- Es geht nur um den Reiter "Buchungsliste" und Bereich I4 bis AL2000
- Das Ergebnis soll im gleichen Reiter in Feld AN3 geschrieben werden...
Hatte mich mal in VBA versucht (s.u.) - klappte aber nicht wirklich...

Sub FarbenZählen()
Dim zelle As Range
Dim intGelb As Integer
Dim intRot As Integer
Dim intGrün As Integer
intBlau = 0
Sheets("Buchungsliste").Select
For Each zelle In Range("I4:AN2000").Cells
If zelle.Interior.ColorIndex = "37" Then intBlau = intBlau + 1
Next zelle
Range("AN3").Value = intBlau & " blau"
End Sub


Wisst Ihr Rat?
VG u vielen Dank an alle,
Micha

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farben zählen bei versch. bedingten Formatierungen
03.06.2007 12:23:00
Hajo_Zi
Hallo Micha,
die Farbe der bedingten Formatierung auslesen ist das komplizierteste was ich kenne. Man kommt besser mit dem Nachbau der Bedingung.
Zum auslesen schaue auf meine Homepage eite fremde Dateien.

AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 13:02:39
KiaOra
Hi Hajo,
vielleicht lassen sich mit Deiner/ Eurer Hilfe auch die umständlichen bedingten Formatierungen durch VBA ersetzen und das ganze Problem so umgehen...?!? ;-)
Ich schreibs Euch einfach mal auf und hoffe, Ihr lyncht mich nicht...: :-)
- Betrifft Range J4:AL2000
- Einfärbung einer Zelle (!) (nur, wenn jeweils alle Bedingungen erfüllt sind) = ColorIndex 37
- Bedingung 1: Wert in Spalte A der jeweiligen Zeile (also bei Zeile 10, A10 "" usw.)
- Bedingung 2: Wert in Spalte AN der jeweiligen Zeile (also bei Zeile 10, AN10 "" usw.)
- Bedingung 3: keine Werte in Spalten J bis AL der jeweiligen Zeile (also bei Zeile 10, J10:AL10 "" usw.)
In diesem Fall also: J10:AL10 = ColorIndex 37
- Zusatz-Bedingung je Spalte: Wert in Zeile 2 der jeweiligen Spalte (also z.B. K2 "" usw.)
In diesem Fall also (d.h., Bedingung 1-3 erfüllt, 4 jedoch in Spalte K nicht): J10;L10:AL10 = ColorIndex 37 (also ohne K10 !)
- Sonder-Bedingung f. best. Spalten:
K2="" : generell keine (!) Färbung der Spalten L:O
P2="" : generell keine (!) Färbung der Spalten Q:T
U2="" : generell keine (!) Färbung der Spalten V:Y
Z2="" : generell keine (!) Färbung der Spalten AA:AD
AE2="" : generell keine (!) Färbung der Spalten AF:AI
AJ2="" : generell keine (!) Färbung der Spalten AK:AL
In der bedingten Formatierung für dieses Beispiel sahs bei mir so aus:
K10: =UND(($A10"");($AN10"");($K$2""))
L10: =UND(($K10"");($L$2"")) +
=UND(($A10"");($AN10"");($L$2"");($K$2""))
usw.
Tut mir leid...!
Micha

Anzeige
AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 13:07:14
Hajo_Zi
Hallo Micha,
Du benutzt Version 2000, bis einschl. Version 2003 sind nur 3 Bedingungen möglich, soweit mir bekannt.
Lade doch mal Deine Datei hoch wo Du die 4 Bedingungen eingeben hast.
Gruß Hajo

Anzeige
AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 13:27:00
KiaOra
Hi Hajo,
habs gerade nochmal mit allen 4 Bedingungen getestet - scheint zu funktionieren... ;-)
Lade die Datei mal hoch (hoffe, ich kann sie danach auch wieder vom Server löschen... :-) ).
Da die ges. Datei fast 4 MB groß ist, hab ich den größten Teil der Formeln, Reiter und Codes gelöscht - die angesprochenen Punkte sollten davon aber (hoffentlich) nicht beeinträchtigt sein...
https://www.herber.de/bbs/user/42995.xls
VG u vielen Dank,
Micha

Anzeige
AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 13:31:54
Hajo_Zi
Hallo Mcha,
wo ist Bitte die Zelle mit den 4 Bedingten Formatierungen?
Gruß Hajo

AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 13:36:46
KiaOra
Hi Hajo,
in der Datei sind die Formatierungen für J4:AL19 hinterlegt (=blauer Hintergrund).
Wie schon gesagt, nicht als VBA, sondern ganz simpel unter Format-Bedingte Formatierung...
VG,
Micha

Anzeige
AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 13:43:00
Hajo_Zi
Hallo Micha,
ich benutze schon Version 2007 aber in J4;j J5 usw. sehe ich keine Bedingte Formatierung und die paar Zellen die ich noch angesehen habe haben max. 2 Bedingte Formatierungen gesehen.
Du kannst mir nicht mitteilen wo Du 4 Bedingte Formatierungen für eine Zelle hast, wobei mir das auch schleierhaft wie Du das bei Deiner Version geschafft hast.
Ich bin raus, darum offen.
Gruß Hajo

Anzeige
AW: Farben zählen bei versch. bedingten Formatieru
03.06.2007 14:03:21
KiaOra
Hi Hajo,
ich glaube, da haben wir aneinander vorbei geredet - Entschuldigung!
Die bedingten Formatierungen, die Du gefunden hast, sind schon die richtigen (max. 2).
Mit 4 Bedingungen hatte ich das gemeint, was dort bei einer Bedingung angegeben u. mit und() etc. verknüpft ist - das ist das gleiche, was ich vorhin auch hier in den Thread kopiert hatte...
Hoffe, es kann mir trotzdem jemand weiterhelfen...
VG u ganz herzlichen Dank im Voraus,
Micha
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Farben Zählen bei Verschiedenen Bedingten Formatierungen in Excel


Schritt-für-Schritt-Anleitung

Um die Anzahl der Zellen mit einer bestimmten Hintergrundfarbe zu zählen, die durch verschiedene bedingte Formatierungen in Excel festgelegt wurden, kannst du ein VBA-Skript verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Einfügen eines neuen Moduls: Klicke auf Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub FarbenZählen()
       Dim zelle As Range
       Dim intFarbe As Integer
       intFarbe = 0
       Sheets("Buchungsliste").Select
       For Each zelle In Range("I4:AL2000").Cells
           If zelle.Interior.ColorIndex = 37 Then intFarbe = intFarbe + 1
       Next zelle
       Range("AN3").Value = intFarbe & " Zellen mit der Farbe"
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Gehe auf Entwicklertools > Makros, wähle FarbenZählen und klicke auf Ausführen.

Das Skript zählt alle Zellen mit der Hintergrundfarbe ColorIndex = 37 im Bereich I4:AL2000 und gibt das Ergebnis in Zelle AN3 aus.


Häufige Fehler und Lösungen

  • Fehler: Makro läuft nicht: Stelle sicher, dass Makros in deinem Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere die Makros.

  • Fehler: Falsche Farbausgabe: Überprüfe, ob der ColorIndex korrekt ist. Du kannst den ColorIndex einer Zelle mit dem Befehl MsgBox zelle.Interior.ColorIndex ermitteln.


Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, gibt es auch alternative Ansätze:

  • ZÄHLENWENN-Funktion: Du kannst die ZÄHLENWENN-Funktion verwenden, um bestimmte Werte zu zählen, aber sie zählt keine Farben. In Kombination mit Hilfsspalten und bedingten Formatierungen könntest du die Logik nachstellen, aber dies ist aufwendig.

  • Spezielle Add-Ins: Es gibt Excel-Add-Ins, die das Zählen von farbigen Zellen erleichtern, aber sie sind oft kostenpflichtig.


Praktische Beispiele

Angenommen, du hast eine Liste von Buchungen in der Tabelle "Buchungsliste", und du wolltest alle Zellen zählen, die grün hinterlegt sind (z.B. ColorIndex = 4). Du kannst den Code wie folgt anpassen:

Sub FarbenZählenGrün()
    Dim zelle As Range
    Dim intGrün As Integer
    intGrün = 0
    Sheets("Buchungsliste").Select
    For Each zelle In Range("I4:AL2000").Cells
        If zelle.Interior.ColorIndex = 4 Then intGrün = intGrün + 1
    Next zelle
    Range("AN3").Value = intGrün & " grüne Zellen"
End Sub

Tipps für Profis

  • Bedingte Formatierungen: Achte darauf, dass du die Bedingungen in deiner Formatierung so konstruierst, dass sie sich nicht gegenseitig beeinflussen. Das kann die Lesbarkeit und Wartbarkeit deiner Excel-Tabellen verbessern.

  • Verwendung von Named Ranges: Anstatt den Bereich I4:AL2000 direkt zu verwenden, kannst du einen benannten Bereich erstellen. Das macht dein VBA-Skript flexibler.


FAQ: Häufige Fragen

1. Kann ich die Farben in einer bedingten Formatierung zählen? Ja, jedoch kannst du die Farben nicht direkt mit ZÄHLENWENN zählen. Hierfür ist ein VBA-Skript notwendig.

2. Gibt es eine Möglichkeit, die Farben zu zählen, ohne VBA zu verwenden? Man kann die Anzahl der Zellen mit bedingten Formaten nur schwer ohne VBA zählen. Eine mögliche Lösung wäre, Hilfsspalten zu verwenden, um die Bedingungen nachzubilden.

3. Welche Excel-Version benötige ich für komplexe bedingte Formatierungen? In Excel 2007 und späteren Versionen kannst du bis zu 64 Bedingungen in einer bedingten Formatierung verwenden. In Version 2003 und älter sind es nur bis zu 3 Bedingungen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige