Hintergrundfarbe abhängig vom Zellenwert

Ich suche eine Möglichkeit, unter Excel 7.0 Zellen mit unterschiedlichen Hintergrundfarben in Abhängigkeit vom jeweiligen Zellenwert zu formatieren. Beispielsweise soll Excel Zellenwerte unter 10 mit gelbem, über 15 mit rotem Hintergrund kennzeichnen. Dabei soll sich die Färbung automatisch über mehrere Zellen erstrecken. Wie kann ich das erreichen?

Ihr Problem läßt sich nicht ganz einfach lösen, da Excel keine Ereignisse unterstützt. Sie können also den Inhalt der Zelle nicht direkt nach der Eingabe überprüfen. Die Idee, eine benachbarte Spalte mit einer auf die jeweilige Zelle verweisenden Funktion auszustatten, scheitert ebenfalls an Excels Beschränkungen: Aus benutzerdefinierten Tabellen-Funktionen lassen sich keine Zellen formatieren.
Als Lösung bleiben Ihnen daher nur eine Prozedur oder ein Makro, das sich mit Hilfe einer Tastenkombination starten läßt. Dieses Makro könnte etwa die ausgewählte Spalte durchsuchen und jede Zelle auf ihren Inhalt überprüfen. In Abhängigkeit vom Inhalt bestimmt es dann die Hintergrundfarbe.
Um das Makro anzulegen, wählen Sie den Befehl Einfügen – Visual Basic Modul und geben in den Editor folgende Befehle ein oder kopieren sie aus der Datei ZFARBIG.TXT, die Sie auf der aktuellen WIN-Monats-CD und in den Online-Foren finden:

Sub SetColor ()¶
SelCol = ActiveCell.Column¶
i = 0¶
BreakOff = False¶
While Not BreakOff¶
i = i + 1¶
ActiveSheet.Cells (i,SelCol) .Activate¶
If Not ActiveCell.Value = „“ Then¶
If ActiveCell.Value < 10 Then ActiveCell.Interior.ColorIndex = 6¶
If ActiveCell.Value >= 10 Then ActiveCell.Interior.ColorIndex = 4¶
If ActiveCell.Value >= 15 Then ActiveCell.Interior.ColorIndex = 3¶
Else¶
BreakOff = True¶
End If¶
Wend¶
End Sub¶
In der ersten Zeile schreibt Excel die aktive Spalte in die Variable SelCol. Die beiden folgenden Zeilen initialisieren zwei Variablen: i als Zähl-Variable und BreakOff als Abbruch-Bedingung. Falls Sie das Einfärben nicht in der ersten Zeile beginnen wollen, können Sie i entsprechend erhöhen. Die folgende While-Schleife durchläuft Excel so lange, bis BreakOff den Wert Wahr zugewiesen bekommt. Das geschieht erst dann, wenn die Abbruch-Bedingung der siebten Zeile erfüllt ist. In diesem Fall handelt es sich um eine leere Zelle. Falls Sie jedoch leere Zellen zulassen wollen, können Sie am unteren Ende des Überprüfungsbereichs etwa das Wort
Ende
eingeben und die Abbruch-Bedingung auf Ende abändern. Die IF-Abfragen überprüfen den jeweils aktuellen Zellenwert und formatieren den Hintergrund mit der entsprechenden Farbe.
Um dem Makro eine Tastenkombination zuzuordnen, rufen Sie den Befehl Extras Makro auf. Im folgenden Dialog wählen Sie das Makro SetColor aus und klicken auf den Button Optionen. Im Dialog Makro-Optionen markieren Sie im Bereich Zuweisen den Eintrag Shortcut und geben im Feld dahinter einen Buchstaben ein. Sobald Sie alles bestätigt haben, können Sie den Cursor auf der entsprechenden Zahlenreihe positionieren und die Tastenkombination ausführen. Je nach Geschwindigkeit Ihrer Grafikkarte können Sie nun Excel beim korrekten Formatieren Ihrer Zellenhintergründe zusehen. Sobald sich Werte ändern, müssen Sie jedoch das Makro erneut starten.