Andrew weiß, wie man die Farbe von Arbeitsblattregistern manuell ändert.

Er möchte jedoch eine Möglichkeit, die Registerkartenfarbe basierend auf einem Wert in einer Zelle im Arbeitsblatt zu ändern.

Dazu müssen Sie ein Makro verwenden. Der Schlüssel ist, dass Sie die Color-Eigenschaft des Tab-Objekts folgendermaßen ändern möchten:

ActiveSheet.Tab.Color = vbRed

Die Logik, mit der Sie eine solche Farbzuweisung vornehmen, hängt davon ab, was Sie tun möchten und wann Sie es tun möchten. Angenommen, Sie möchten die Registerkartenfarbe basierend auf der Position in Zelle A1 ändern, können Sie ein Makro wie das folgende verwenden:

Private Sub Worksheet_Change(ByVal Target As Range)

MyVal = Range("A1").Text

With ActiveSheet.Tab         Select Case MyVal             Case "0"

.Color = vbBlack             Case "1"

.Color = vbRed             Case "2"

.Color = vbGreen             Case "3"

.Color = vbYellow             Case "4"

.Color = vbBlue             Case "5"

.Color = vbMagenta             Case "6"

.Color = vbCyan             Case "7"

.Color = vbWhite             Case Else                 .ColorIndex = xlColorIndexNone         End Select     End With End Sub

Sie müssen das Makro zum Code für das Arbeitsblatt hinzufügen, dessen Registerkarte Sie ändern möchten. (Klicken Sie mit der rechten Maustaste auf die Registerkarte des Blattes und wählen Sie im Kontextmenü die Option Code anzeigen. Fügen Sie den Code in dieses Codefenster ein.) Das Makro erfasst alle Elemente in Zelle A1 und verwendet dann eine Auswahlfallstruktur, um die Farbe der Registerkarte zu ändern. Die Logik ändert die Farbe, wenn A1 0 bis 7 enthält. Wenn dort noch etwas (oder gar nichts) vorhanden ist, wird die ColorIndex-Eigenschaft verwendet, um die Tabulatorfarbe auf den Standardwert zurückzusetzen.

Das Makro kann so geändert werden, dass es auf eine Textzeichenfolge (z. B. „Schwarz“, „Rot“ usw.) oder ein Schlüsselwort (z. B. „Niedrig“ oder „Hoch“) prüft. Sie können mit der Color-Eigenschaft auch verschiedene Farbbezeichnungen verwenden, z. B. die RGB-Funktion:

.Color = RGB(255, 0, 0)

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (13138) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.