Letzte Aktualisierung: August 2021; Microsoft Excel 365, 2019, 2016.
Im heutigen Tutorial zu VBA für Excel-Automatisierung erfahren Sie, wie wir die Farbe einer Zelle basierend auf dem Zellenwert programmgesteuert ändern können.
Wir können diese Technik zum Beispiel bei der Entwicklung eines einfachen Status-Dashboards verwenden.
Konfiguration
Wenn Sie noch nicht mit Excel entwickeln, empfehlen wir Ihnen, sich unseren Einführungsleitfaden zu Excel-Makros anzusehen . Insbesondere müssen Sie sicherstellen, dass die Registerkarte „Entwickler“ in Ihrem Microsoft Excel-Menüband verfügbar ist, da Sie damit einfachen Code schreiben werden.
- Öffnen Sie Microsoft-Excel. Beachten Sie, dass der in diesem Lernprogramm bereitgestellte Code voraussichtlich in Excel 2007 und höher funktioniert.
- Fügen Sie in einem leeren Arbeitsblatt die folgende Tabelle hinzu:

- Fahren Sie nun fort und definieren Sie einen benannten Bereich, indem Sie auf: Formeln>>Namen definieren klicken
![Wie setze ich eine Excel-Zellenfarbe gemäß einer Bedingung mit VBA? Wie setze ich eine Excel-Zellenfarbe gemäß einer Bedingung mit VBA?]()
Ändern der Zelleninnenfarbe basierend auf dem Wert mit Cell.Interior.Color
- Klicken Sie auf den Entwicklereintrag in der Multifunktionsleiste.
- Drücken Sie Visual Basic oder Alt+F11, um Ihren Entwickler-VBA-Editor zu öffnen.
- Markieren Sie als Nächstes das Arbeitsblatt, in dem Sie Ihren Code ausführen möchten. Wählen Sie alternativ ein Modul aus, das Ihren VBA-Code enthält.
- Fahren Sie fort und fügen Sie diesen Code ein. In unserem Beispiel ändern wir die Innenfarbe einer Reihe von Zellen in bestimmte Zellen-RGB-Werte, die den Farben Rot, Gelb und Grün entsprechen.
- Konkret verwenden wir die Excel-VBA-Methode Cell.Interior.Color und übergeben den entsprechenden RGB-Wert bzw. Farbindex.
Sub Color_Cell_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Status")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case "Progressing"
MyCell.Interior.Color = RGB(0, 255, 0)
Case "Pending Feedback"
MyCell.Interior.Color = RGB(255, 255, 0)
Case "Stuck"
MyCell.Interior.Color = RGB(255, 0, 0)
End Select
Next MyCell
End Sub
- Führen Sie Ihren Code aus – entweder durch Drücken von F5 oder Ausführen >> Run Sub / UserForm.
- Sie werden feststellen, dass das Status-Dashboard wie unten gezeigt ausgefüllt wurde:
![Wie setze ich eine Excel-Zellenfarbe gemäß einer Bedingung mit VBA? Wie setze ich eine Excel-Zellenfarbe gemäß einer Bedingung mit VBA?]()
- Speichern Sie Ihren Code und schließen Sie Ihren VBA-Editor.