719906

Excel 97/2000/XP: Zellen mit bestimmter Farbe zählen

27.10.2003 | 11:05 Uhr |

In einer Excel-Tabelle habe Sie bestimmte Informationen über die Textfarbe unterschieden, die mit einer bedingten Formatierung festgelegt ist. Nun möchten Sie alle Zellen mit der gleichen Textfarbe zählen. Wie geht das? PC-WELT zeigt Ihnen, wie es funktioniert.

Anforderung

Fortgeschrittener

Zeitaufwand

Mittel

Problem:

In einer Excel-Tabelle habe Sie bestimmte Informationen über die Textfarbe unterschieden, die mit einer bedingten Formatierung festgelegt ist. Nun möchten Sie alle Zellen mit der gleichen Textfarbe zählen. Wie geht das?

Lösung:

Wir haben in der PC-WELT 2/2000, Seite 198, eine Lösung vorgestellt, mit der sich Werte aus Zellen mit bestimmten Hintergrundfarben summieren lassen. Den Artikel finden Sie in unserem Online-Archiv auf dieser Website . Als PC-WELT Premium-Leser haben Sie kostenlos Zugriff auf unser umfangreiches Heftarchiv.

Die damals vorgestellte Datei SUMME.BAS mit den Makros "Summegelb" und "Summeweiss" können Sie hier herunterladen . Nach dem gleichen Prinzip können Sie auch Zellen zählen, statt die Werte der Zellen zu summieren.

Dazu ersetzen Sie einfach in den beiden Makros "Summegelb" und "Summeweiss" die Zeile

s = s + a.Value

durch

s = s + 1

Bei dieser Lösung tritt allerdings ein Problem auf, wenn die Textfarbe nicht manuell, sondern über bedingte Formatierungen festgelegt wurde. Die vorgestellten Funktionen ermitteln nämlich immer die ursprüngliche Textfarbe ohne bedingte Formatierung.

Trotzdem hilft es auch hier, eine benutzerdefinierte Funktion einzusetzen. Öffnen Sie dazu den Visual-Basic-Editor (<Alt>-<F11>), und importieren Sie über "Datei, Datei importieren" die Datei FARBE.BAS . Schließen Sie den Visual-Basic-Editor.

Die in FARBE.BAS enthaltene benutzerdefinierte Funktion "BedZählen" verwendet als Zählkriterium nicht die Textfarbe, sondern ermittelt die Bedingung der ersten bedingten Formatierung und wertet sie aus. Ist sie erfüllt, wird die Zelle gezählt.

Nach dem Import der BAS-Datei finden Sie im Funktionsassistenten ("Einfügen, Funktion") unter der Kategorie "Benutzerdefiniert" die Funktion "BedZählen", die alle Zellen zählt, die die Bedingung der ersten bedingten Formatierung erfüllen. Sie müssen dazu nur noch im entsprechenden Fenster des Funktionsassistenten den Zellbereich eintragen, den Sie zählen wollen.

Achtung:

Das Makro berücksichtigt nur Zellwerte als Bedingungen, keine Formeln. Außerdem kann es zu ungewünschten Ergebnissen kommen, wenn die Zellen im ausgewählten Bereich verschiedene bedingte Formatierungen haben.

Ein Beispiel dafür sehen Sie in der 2 Abbildung oben. Dort sind alle Zellen in der Spalte A mit der Bedingung "Zellwert ist kleiner 50" versehen - mit Ausnahme von Zelle A4. Ist die Bedingung für die Zelle A4 (hier: "Zellwert ist größer 100") erfüllt, zählt die Funktion "Bed-Zählen" korrekterweise diese Zelle mit bei der Anzahl der Zellen, deren erste Bedingung erfüllt ist. Da Sie aber in unserem Beispiel nur die Zellen zählen wollen, deren Zellwert kleiner als 50 ist, können Sie sich so behelfen: Geben Sie als erste Bedingung einen Dummy ein - also eine Bedingung, die keine Zelle erfüllt (in der Abbildung etwa "Zellwert ist kleiner 0") - und die gewünschte Formatierung erst als zweite Bedingung. Dadurch wertet das Makro die erste Bedingung aus, die aber nirgends erfüllt wird, und "Bed-Zählen" zeigt das richtige Ergebnis.

0 Kommentare zu diesem Artikel
719906