Bedingte Formatierung mithilfe von Excel-VBA verwenden

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 11, 2022

Bedingte Formatierung in Excel

Mit der bedingten Formatierung von Excel können Sie Regeln für die Zellenformatierung festlegen.

Sie können zum Beispiel eine Regel zum Hervorheben von Zellen, die bestimmte Kriterien erfüllen, erstellen. Beispiele hierfür sind:

  • Zahlen, die in einen bestimmten Bereich fallen (z. B. kleiner als 0).
  • Die 10 wichtigsten Elemente in einer Liste.
  • Erstellen einer „Heatmap“.
  • „Formelbasierte“ Regeln für praktisch jede bedingte Formatierung.

In Excel finden Sie die bedingte Formatierung in der Menüleiste unter Start > Formatvorlagen (ALT > H > L).

bedingte formatierung neue regel

Um eine eigene Regel zu erstellen, klicken Sie auf „Neue Regel“, woraufhin ein neues Fenster erscheint:

bedingte formatierung neue regel erstellen

 

Bedingte Formatierung in VBA

Auf all diese Funktionen der bedingten Formatierung können Sie in VBA zugreifen.

Beachten Sie, dass Ihre neuen Parameter im Excel-Frontend-Fenster für die bedingte Formatierung erscheinen und für den Benutzer sichtbar sind, wenn Sie die bedingte Formatierung in VBA-Code erstellen. Der Benutzer kann diese bearbeiten oder löschen, es sei denn, Sie haben das Arbeitsblatt gesperrt.

Die Regeln für die bedingte Formatierung werden auch gespeichert, wenn das Arbeitsblatt gespeichert wird.

Die Regeln für die bedingte Formatierung gelten speziell für ein bestimmtes Arbeitsblatt und einen bestimmten Zellenbereich. Wenn sie an anderer Stelle in der Arbeitsmappe benötigt werden, müssen sie auch auf dem betroffenen Arbeitsblatt erstellt werden.

 

Praktische Anwendungen der bedingten Formatierung in VBA

Möglicherweise haben Sie eine große Menge an Rohdaten aus einer CSV-Datei (kommagetrennte Werte) oder aus einer Datenbanktabelle oder -abfrage in Ihr Arbeitsblatt importiert. Diese Daten können in ein Dashboard oder einen Bericht einfließen, wobei sich die importierten Zahlen von einem Zeitraum zum anderen ändern.

Wenn sich eine Zahl ändert und außerhalb eines akzeptablen Bereichs liegt, möchten Sie dies vielleicht hervorheben, z. B. durch eine rote Zellenhintergrundfarbe, und Sie können dies durch Erstellen einer bedingten Formatierung erreichen. Auf diese Weise wird der Benutzer sofort auf diese Zahl aufmerksam gemacht und kann dann nachforschen, warum dies der Fall ist.

Mit VBA können Sie die bedingte Formatierung ein- oder ausschalten. Mit VBA können Sie die Regeln für einen Zellenbereich deaktivieren oder wieder aktivieren. Es kann vorkommen, dass es einen guten Grund für eine ungewöhnliche Zahl gibt, aber wenn der Benutzer das Dashboard oder den Bericht einer höheren Managementebene vorlegt, möchte er die „Alarmglocken“ ausschalten können.

In den importierten Rohdaten können Sie auch Bereiche hervorheben, in den Zahlen lächerlich groß oder lächerlich klein sind. Der importierte Datenbereich hat in der Regel für jeden Zeitraum eine andere Größe, so dass Sie VBA verwenden können, um die Größe des neuen Datenbereichs zu ermitteln und eine bedingte Formatierung nur für diesen Bereich einzufügen.

Möglicherweise haben Sie auch eine Situation, in der es eine sortierte Liste von Namen mit numerischen Werten für jeden einzelnen gibt (z. B. Gehalt eines Mitarbeiters, Prüfungsnoten). Mit der bedingten Formatierung können Sie Farbskalen verwenden, um vom höchsten zum niedrigsten Wert zu gelangen, was für Präsentationszwecke sehr eindrucksvoll aussieht.

Allerdings ist die Namensliste nicht immer statisch und Sie können VBA-Code verwenden, um die Farbskala entsprechend den Änderungen in der Bereichsgröße zu aktualisieren.

 

Einfaches Beispiel für die Erstellung einer bedingten Formatierung für einen Bereich

In diesem Beispiel wird eine bedingte Formatierung für einen Zellenbereich (A1:A10) auf einem Arbeitsblatt erstellt. Wenn die Zahl im Bereich zwischen 100 und 150 liegt, wird der Zellenhintergrund rot, andernfalls wird er nicht gefärbt.

Sub BedingteFormatierungBeispiel()

'Bereich definieren
Dim MeinBereich As Range
Set MeinBereich = Range("A1:A10")

'Vorhandene bedingte Formatierung aus dem Bereich löschen
MeinBereich.FormatConditions.Delete

'Bedingte Formatierung anwenden
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=100", Formula2:="=150"
MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
End Sub

Beachten Sie, dass wir zunächst den Bereich MeinBereich definieren, um die bedingte Formatierung anzuwenden.

Anschließend löschen wir alle vorhandenen bedingten Formatierungen im Bereich. Dies ist eine gute Idee, um zu verhindern, dass bei jeder Ausführung des Codes dieselbe Regel hinzugefügt wird (natürlich ist dies nicht unter allen Umständen sinnvoll).

Farben werden durch numerische Werte angegeben. Es ist eine gute Idee, die RGB-Bezeichnung (Rot, Grün, Blau) dafür zu verwenden. Sie können dafür Standard-Farbkonstanten verwenden wie z. B. vbRed, vbBlue, aber Sie sind hierbei auf acht Farben beschränkt.

Es gibt über 16,7 Millionen Farben und mit RGB können Sie auf sie alle zugreifen. Das ist viel einfacher als sich zu merken, welche Nummer zu welcher Farbe gehört. Jede der drei RGB-Farbnummern reicht von 0 bis 255.

Beachten Sie, dass der Parameter „xlBetween“ inklusive ist, so dass Zellenwerte von 100 oder 150 die Bedingung erfüllen.

Mehrfach bedingte Formatierung

Möglicherweise möchten Sie mehrere bedingte Regeln in Ihrem Datenbereich festlegen, damit alle Werte in einem Bereich von verschiedenen Bedingungen abgedeckt werden:

Sub MehrfachBedingteFormatierungBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formatierung löschen
MeinBereich.FormatConditions.Delete
'Erste Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=100", Formula2:="=150"
MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
'Zweite Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
        Formula1:="=100"
MeinBereich.FormatConditions(2).Interior.Color = vbBlue
'Dritte Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="=150"
MeinBereich.FormatConditions(3).Interior.Color = vbYellow
End Sub

In diesem Beispiel wird die erste Regel wie zuvor festgelegt, wobei die Zellenfarbe rot ist, wenn der Zellenwert zwischen 100 und 150 liegt.

Dann werden zwei weitere Regeln hinzugefügt. Ist der Wert der Zelle kleiner als 100, ist die Zellenfarbe blau und ist er größer als 150, ist die Zellenfarbe gelb.

In diesem Beispiel müssen Sie sicherstellen, dass alle möglichen Zahlenwerte abgedeckt sind und dass sich die Regeln nicht überschneiden.

Wenn sich leere Zellen in diesem Bereich befinden, werden sie blau angezeigt, da Excel sie immer noch als Zellen mit einem Wert von weniger als 100 betrachtet.

Sie können dies umgehen, indem Sie eine weitere Bedingung in Form eines Ausdrucks hinzufügen. Diese muss als erste Bedingungsregel in den Code eingefügt werden. Bei mehreren Regeln ist es sehr wichtig, dass die Reihenfolge der Ausführung stimmt, da die Ergebnisse sonst unvorhersehbar werden.

Sub MehrfachBedingteFormatierungBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formatierung löschen
MeinBereich.FormatConditions.Delete
'Erste Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=LEN(TRIM(A1))=0"
MeinBereich.FormatConditions(1).Interior.Pattern = xlNone
'Zweite Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=100", Formula2:="=150"
MeinBereich.FormatConditions(2).Interior.Color = RGB(255, 0, 0)
'Dritte Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
        Formula1:="=100"
MeinBereich.FormatConditions(3).Interior.Color = vbBlue
'Vierte Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _
        Formula1:="=150"
MeinBereich.FormatConditions(4).Interior.Color = RGB(0, 255, 0)
End Sub

Hier wird der Typ xlExpression und dann eine Excel-Standardformel verwendet, um festzustellen, ob eine Zelle leer ist, anstatt einen numerischen Wert zu verwenden.

Das FormatConditions-Objekt ist Teil des Range-Objekts. Es verhält sich wie eine Sammlung, wobei der Index bei 1 beginnt. Sie können mit einer For-Next- oder For-Each-Schleife durch dieses Objekt iterieren.

Eine Regel löschen

Manchmal kann es notwendig sein, eine einzelne Regel in einem Satz von mehreren Regeln zu löschen, wenn sie den Datenanforderungen nicht entspricht.

Sub BedingteFormatierungLoeschenBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formatierungen löschen
MeinBereich.FormatConditions.Delete
'Erste Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=100", Formula2:="=150"
        MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
'Regel löschen
MeinBereich.FormatConditions(1).Delete
End Sub

Dieser Code erstellt eine neue Regel für den Bereich A1:A10 und löscht sie anschließend. Sie müssen die richtige Indexnummer für das Löschen verwenden. Überprüfen Sie daher im Excel-Frontend die Option „Regeln verwalten“ (hier werden die Regeln in der Reihenfolge ihrer Ausführung angezeigt), um sicherzustellen, dass Sie die richtige Indexnummer erhalten. Beachten Sie, dass es in Excel keine Möglichkeit zum Zurücksetzen gibt, wenn Sie eine Regel für die bedingte Formatierung in VBA löschen, anders als wenn Sie dies über das Excel-Front-End tun.

Ändern einer Regel

Da es sich bei den Regeln um eine Sammlung von auf einem bestimmten Bereich basierenden Objekten handelt, können Sie Änderungen an bestimmten Regeln in VBA leicht vornehmen. Die eigentlichen Eigenschaften sind nach dem Hinzufügen der Regel schreibgeschützt, aber Sie können sie mit der Modify-Methode ändern. Eigenschaften wie z. B. Farben können gelesen und geschrieben werden.

Sub BedingteFormatierungAendernBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formate löschen
MeinBereich.FormatConditions.Delete
'Erste Regel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
        Formula1:="=100", Formula2:="=150"
        MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
'Regel ändern
MeinBereich.FormatConditions(1).Modify xlCellValue, xlLess, "10"
'Regelfarbe ändern
MeinBereich.FormatConditions(1).Interior.Color = vbGreen
End Sub

Dieser Code erstellt ein Bereichsobjekt (A1:A10) und fügt eine Regel für Zahlen zwischen 100 und 150 hinzu. Wenn die Bedingung erfüllt ist, ändert sich die Zellenfarbe in rot.

Der Code ändert dann die Regel auf Zahlen unter 10. Wenn die Bedingung erfüllt ist, ändert sich die Zellenfarbe in grün.

Verwendung einer Farbskala

Die bedingte Formatierung von Excel bietet die Möglichkeit, eine Farbskala für einen Zahlenbereich in aufsteigender oder absteigender Reihenfolge zu verwenden.

Dies ist sehr nützlich, wenn Sie Daten wie Verkaufszahlen nach geografischem Gebiet, Temperaturen in Städten oder Entfernungen zwischen Städten haben. Die Verwendung von VBA hat den zusätzlichen Vorteil, dass Sie Ihr eigenes Farbschema und nicht nur die Standardfarben, die im Excel-Frontend angeboten werden, wählen können.

Sub Farbskala()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formatierung löschen
MeinBereich.FormatConditions.Delete
'Art der Skala definieren
    MeinBereich.FormatConditions.AddColorScale ColorScaleType:=3
    'Farbe für den niedrigsten Wert im Bereich auswählen
    MeinBereich.FormatConditions(1).ColorScaleCriteria(1).Type = _
        xlConditionValueLowestValue
    With MeinBereich.FormatConditions(1).ColorScaleCriteria(1).FormatColor
        .Color = 7039480
    End With
    'Farbe für die mittleren Werte im Bereich auswählen
    MeinBereich.FormatConditions(1).ColorScaleCriteria(2).Type = _
        xlConditionValuePercentile
    MeinBereich.FormatConditions(1).ColorScaleCriteria(2).Value = 50
   ' Die Farbe für den Mittelpunkt des Bereichs auswählen
    With MeinBereich.FormatConditions(1).ColorScaleCriteria(2).FormatColor
        .Color = 8711167
    End With
     'Farbe für den höchsten Wert im Bereich auswählen
    MeinBereich.FormatConditions(1).ColorScaleCriteria(3).Type = _
        xlConditionValueHighestValue
    With MeinBereich.FormatConditions(1).ColorScaleCriteria(3).FormatColor
        .Color = 8109667
    End With
End Sub

Wenn dieser Code ausgeführt wird, werden die Zellenfarben entsprechend den aufsteigenden Werten im Bereich A1:A10 abgestuft.

bedingte formatierung farbskalen erstellen

Dies ist eine sehr beeindruckende Art der Datendarstellung und wird sicherlich die Aufmerksamkeit der Benutzer auf sich ziehen.

Bedingte Formatierung für Fehlerwerte

Bei einer großen Datenmenge kann es leicht passieren, dass Sie einen Fehlerwert in Ihren verschiedenen Arbeitsblättern übersehen. Wenn dieser einem Benutzer präsentiert wird, ohne dass er behoben wird, kann dies zu großen Problemen führen und der Benutzer verliert das Vertrauen in die Zahlen. Diese Funktion verwendet den Regeltyp xlExpression und die Excel-Funktion ISTFEHLER (Engl. IsError), um die Zelle auszuwerten.

Sie können den Code so erstellen, dass alle Zellen mit Fehlern eine rote Farbe bekommen:

Sub BedingteFormatierungFuerFehlerBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formatierungen löschen
MeinBereich.FormatConditions.Delete
'Fehlerregel hinzufügen
MeinBereich.FormatConditions.Add Type:=xlExpression, Formula1:="=IsError(A1)=True"
'Innenfarbe auf Rot setzen
MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
End Sub

Bedingte Formatierung für Daten aus der Vergangenheit

Es könnte vorkommen, dass Sie Daten importieren, bei denen Sie Datensätze, die in der Vergangenheit liegen, hervorheben möchten. Ein Beispiel hierfür könnte ein Debitorenbericht sein, in dem Sie alte Rechnungsdaten, die älter als 30 Tage sind, hervorheben möchten.

Dieser Code verwendet den Regeltyp xlExpression und eine Excel-Funktion zur Auswertung der Daten.

Sub BedingteFormatierungFuerDatenAusVergangenheitBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt auf Grundlage einer Datumsspalte erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formatierung löschen
MeinBereich.FormatConditions.Delete
'Regel für Daten aus der Vergangenheit hinzufügen
MeinBereich.FormatConditions.Add Type:=xlExpression, Formula1:="=Now()-A1 > 30"
'Innenfarbe auf Rot setzen
MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 0, 0)
End Sub

Dieser Code nimmt einen Datumsbereich im Bereich A1:A10 und setzt die Zellenfarbe für jedes Datum, das mehr als 30 Tage in der Vergangenheit liegt, auf Rot.

In der Formel, die in der Bedingung verwendet wird, gibt Now() das aktuelle Datum und die aktuelle Uhrzeit an. Dies wird jedes Mal neu berechnet, wenn das Arbeitsblatt neu berechnet wird, so dass sich die Formatierung von einem Tag auf den anderen ändert.

Datenbalken in der bedingten Formatierung in VBA verwenden

Sie können VBA verwenden, um einem Zahlenbereich Datenbalken hinzuzufügen. Diese sind fast so etwas wie Mini-Diagramme und geben einen sofortigen Überblick darüber, wie groß die Zahlen im Verhältnis zueinander sind. Durch die Annahme von Standardwerten für die Datenbalken ist der Code sehr einfach zu schreiben.

Sub DatenbalkenFormatierungBeispiel()
Dim MeinBereich As Range
Set MeinBereich = Range("A1:A10")
MeinBereich.FormatConditions.Delete
MeinBereich.FormatConditions.AddDatabar
End Sub

Ihre Daten werden auf dem Arbeitsblatt wie folgt aussehen:

bedingte formatierung datenbalken erstellen

 

Symbole in der bedingten Formatierung in VBA verwenden

Sie können die bedingte Formatierung verwenden, um Symbole neben Ihren Zahlen in einem Arbeitsblatt einzufügen. Bei den Symbolen kann es sich um Pfeile, Kreise oder verschiedene andere Formen handeln. In diesem Beispiel fügt der Code Pfeilsymbole zu den Zahlen auf Grundlage ihrer Prozentwerte hinzu:

Sub SymbolsaetzeBeispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formate löschen
MeinBereich.FormatConditions.Delete
'Syymbolsatz zum FormatConditions-Objekt hinzufügen
MeinBereich.FormatConditions.AddIconSetCondition
'Syymbolsatz auf Pfeile setzen - Bedingung 1
With MeinBereich.FormatConditions(1)
    .IconSet = ActiveWorkbook.IconSets(xl3Arrows)
End With
'Die Symbolkriterien für den erforderlichen Prozentwert festlegen - Bedingung 2
With MeinBereich.FormatConditions(1).IconCriteria(2)
    .Type = xlConditionValuePercent
    .Value = 33
    .Operator = xlGreaterEqual
End With
'Die Symbolkriterien für den geforderten Prozentwert festlegen - Bedingung 3
With MeinBereich.FormatConditions(1).IconCriteria(3)
    .Type = xlConditionValuePercent
    .Value = 67
    .Operator = xlGreaterEqual
End With
End Sub

Auf diese Weise erhalten Sie eine sofortige Anzeige, ob eine Zahl hoch oder niedrig ist. Nach der Ausführung dieses Codes sieht Ihr Arbeitsblatt wie folgt aus:

bedingte formatierung symbole verwenden

 

Bedingte Formatierung zum Hervorheben der Top-Fünf verwenden

Sie können einen VBA-Code verwenden, um die 5 wichtigsten Zahlen in einem Datenbereich hervorzuheben. Sie verwenden einen Parameter namens „AddTop10“, aber Sie können die Rangnummer im Code auf 5 setzen. Ein Benutzer möchte vielleicht die höchsten Zahlen in einem Bereich sehen, ohne die Daten erst sortieren zu müssen.

Sub Top5Beispiel()
Dim MeinBereich As Range
'Bereichsobjekt erstellen
Set MeinBereich = Range("A1:A10")
'Vorherige bedingte Formate löschen
MeinBereich.FormatConditions.Delete
    'Eine Top-10-Bedingung hinzufügen
    MeinBereich.FormatConditions.AddTop10
    With MeinBereich.FormatConditions(1)
        'Parameter von oben nach unten setzen
        .TopBottom = xlTop10Top
        'Nur die obersten 5 festlegen
        .Rank = 5
    End With
    With MeinBereich.FormatConditions(1).Font
        'Die Schriftfarbe einstellen
        .Color = -16383844
    End With
    With MeinBereich.FormatConditions(1).Interior
        'Die Farbe des Zellenhintergrunds festlegen
        .Color = 13551615
    End With
End Sub

Die Daten auf Ihrem Arbeitsblatt würden nach Ausführung des Codes wie folgt aussehen:

bedingte formatierung top fuenf hervorheben

Beachten Sie, dass der Wert 145 zweimal erscheint, so dass sechs Zellen hervorgehoben sind.

 

Bedeutung der Parameter StopIfTrue und SetFirstPriority

StopIfTrue ist von Bedeutung, wenn mehrere bedingte Formatierungsregeln für einen Zellenbereich gelten. Eine einzelne Zelle innerhalb des Bereichs kann die erste Regel erfüllen, aber auch die nachfolgenden Regeln. Als Entwickler möchten Sie vielleicht, dass sie nur die Formatierung für die erste Regel, auf die sie trifft, angezeigt. Andere Regelkriterien können sich überschneiden und unbeabsichtigte Änderungen bewirken, wenn sie in der Liste der Regeln weiter unten stehen.

Der Standardwert für diesen Parameter ist True, aber wenn Sie möchten, können Sie ihn ändern, so dass alle anderen Regeln für diese Zelle berücksichtigt werden:

MeinBereich. FormatConditions(1).StopIfTrue = False

Der Parameter SetFirstPriority legt fest, ob diese Bedingungsregel zuerst ausgewertet wird, wenn es mehrere Regeln für die Zelle gibt.

MeinBereich. FormatConditions(1).SetFirstPriority

Dies verschiebt die Position dieser Regel an Position 1 innerhalb der Sammlung von Formatierungsbedingungen und alle anderen Regeln werden mit geänderten Indexnummern nach unten verschoben. Seien Sie vorsichtig, wenn Sie im Code Änderungen an Regeln, die die Indexnummern verwenden, vornehmen. Sie müssen sicherstellen, dass Sie die richtige Regel ändern oder löschen.

Sie können die Priorität einer Regel folgendermaßen ändern:

MeinBereich. FormatConditions(1).Priority=3

Dadurch werden die relativen Positionen aller anderen Regeln innerhalb der Liste der bedingten Formatierungen geändert.

Bedingte Formatierung mit Verweis auf andere Zellenwerte verwenden

Dies ist eine Sache, die die bedingte Formatierung von Excel nicht kann. Sie können jedoch Ihren eigenen VBA-Code erstellen, um dies zu tun.

Nehmen wir an, Sie haben eine Datenspalte und in der Zelle neben jeder Zahl befindet sich ein Text, der angibt, welche Formatierung für die einzelnen Zahlen vorgenommen werden soll.

Der folgende Code durchläuft die Liste der Zahlen, sucht in der benachbarten Zelle nach Formatierungstext und formatiert die Zahl dann wie gewünscht:

Sub FuerBedingteFormatierungAufAndereZelleVerweisen()
'Variablen erstellen, um die Anzahl der Zeilen für die Tabellendaten zu speichern
Dim R_Zeile As Long, N As Long
'Die Anzahl der Zeilen innerhalb des Tabellendatenbereichs ermitteln
R_Zeile = ActiveSheet.UsedRange.Rows.Count
'Durch alle Zeilen im Tabellendatenbereich iterieren 
For N = 1 To R_Zeile
    'Verwenden Sie eine Select-Case-Anweisung, um die Formatierung auf Grundlage von Spalte 2 auszuwerten
    Select Case ActiveSheet.Cells(N, 2).Value
        'Die Innenfarbe in Blau umändern
        Case "Blau"
        ActiveSheet.Cells(N, 1).Interior.Color = vbBlue
        'Die Innenfarbe in Rot umändern
        Case "Rot"
        ActiveSheet.Cells(N, 1).Interior.Color = vbRed
        'Die Innenfarbe in Grün umändern
        Case "Grün"
        ActiveSheet.Cells(N, 1).Interior.Color = vbGreen
    End Select
Next N
End Sub

bedingte formatierung zellenbezuege verwenden ausgangsdaten

Nachdem dieser Code ausgeführt wurde, sieht Ihr Arbeitsblatt wie folgt aus:

bedingte formatierung zellenbezuege verwenden ergebnis

Die Zellen, auf die sich die Formatierung bezieht, können sich an einer beliebigen Stelle im Arbeitsblatt oder sogar auf einem anderen Arbeitsblatt innerhalb der Arbeitsmappe befinden. Sie können jede beliebige Form von Text verwenden, um eine Bedingung für die Formatierung zu schaffen und Sie sind nur durch Ihre Vorstellungskraft in den Verwendungsmöglichkeiten dieses Codes eingeschränkt.

Operatoren, die in Anweisungen zur bedingten Formatierung verwendet werden können

Wie Sie in den vorherigen Beispielen gesehen haben, werden Operatoren verwendet, um zu bestimmen, wie die Bedingungswerte ausgewertet werden (z. B. xlBetween).

Es gibt eine Reihe dieser Operatoren, die verwendet werden können, je nachdem, wie Sie Ihre Regelkriterien angeben möchten.

Name Wert Beschreibung
xlBetween 1 Zwischen. Kann nur verwendet werden, wenn zwei Formeln angegeben sind.
xlEqual 3 Ist gleich.
xlGreater 5 Größer als.
xlGreaterEqual 7 Größer als oder gleich.
xlLess 6 Kleiner als.
xlLessEqual 8 Kleiner als oder gleich.
xlNotBetween 2 Nicht zwischen. Kann nur verwendet werden, wenn zwei Formeln angegeben sind.
xlNotEqual 4 Nicht gleich.
vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples