Tutorial: WENN-Formeln basierend auf Zellfarben mit VBA
Dieses Tutorial zeigt dir, wie du in Excel eine WENN-Abfrage basierend auf der Hintergrundfarbe einer Zelle erstellst. Da Excel von Haus aus keine Formel besitzt, um Farben direkt auszulesen, nutzen wir einen kurzen VBA-Code (User Defined Function).
1. Warum wird VBA benötigt?
Standard-Funktionen wie SUMMEWENN oder WENN können nur Werte in Zellen prüfen (Zahlen oder Text), aber keine Formatierungen wie die Füllfarbe. Mit einem kleinen VBA-Skript erstellen wir uns einfach eine eigene Funktion, die den "Farbcode" einer Zelle ausgibt.
2. Den VBA-Code hinzufügen
Keine Sorge, du musst kein Programmierer sein. Folge einfach diesen Schritten:
- Öffne deine Excel-Datei.
- Drücke ALT + F11, um den VBA-Editor zu öffnen.
- Gehe im Menü auf Einfügen -> Modul.
- Kopiere den folgenden Code und füge ihn in das weiße Fenster ein:
Function HoleFarbe(Zelle As Range) As Integer
' Diese Funktion gibt den ColorIndex der Hintergrundfarbe zurück
Application.Volatile
HoleFarbe = Zelle.Interior.ColorIndex
End Function
- Schließe den VBA-Editor (einfach das Fenster oben rechts schießen) und kehre zu Excel zurück.
3. Den Farbcode deiner Zellen ermitteln
Bevor wir die WENN-Formel schreiben, müssen wir wissen, welche Nummer deine Farbe hat.
- Angenommen, in Zelle A1 ist deine Hintergrundfarbe.
- Schreibe in Zelle B1 die Formel:
=HoleFarbe(A1) - Excel gibt dir nun eine Zahl aus.
- Beispiel: Rot ist oft die 3, Grün die 4, Gelb die 6. Kein Hintergrund ist -4142.
4. Die WENN-Formel anwenden
Jetzt kannst du die neue Funktion HoleFarbe innerhalb einer normalen WENN-Funktion nutzen.
Szenario: Wenn die Zelle A1 rot ist (Farbcode 3), soll "Achtung" erscheinen, ansonsten "OK".
Die Formel lautet:
=WENN(HoleFarbe(A1)=3; "Achtung"; "OK")
Ein weiteres Beispiel (Farbe ignorieren, wenn kein Hintergrund):
=WENN(HoleFarbe(A1)=-4142; "Keine Farbe"; "Zelle ist farbig")
5. Wichtige Hinweise
- Datei-Format: Du musst deine Excel-Datei als Excel-Arbeitsmappe mit Makros (.xlsm) speichern, damit der Code erhalten bleibt.
- Aktualisierung: Excel berechnet Formeln nicht automatisch neu, wenn du nur die Farbe einer Zelle änderst. Du musst entweder den Wert in einer Zelle ändern oder F9 drücken, um die Berechnung zu erzwingen.
- Bedingte Formatierung: Dieser VBA-Code erkennt nur Farben, die manuell mit dem "Fülleimer" gesetzt wurden. Er erkennt keine Farben, die durch eine "Bedingte Formatierung" entstanden sind.
Zusammenfassung der Farbcodes (ColorIndex)
Hier sind einige gängige Codes zur Orientierung:
- 3: Rot
- 4: Hellgrün
- 6: Gelb
- 8: Cyan / Hellblau
- -4142: Keine Füllung