Excel-VBA: ColorIndex-Codeliste & RGB-Farben
In this Article
VBA-ColorIndex-Codeliste
Wenn Sie VBA verwenden, um den Farbindex (oder die Hintergrundfarbe) einer Zelle zu programmieren, ist es nützlich zu wissen, welche Ganzzahl welcher Farbe entspricht. Unten finden Sie ein Referenzbild, das die Farbe zeigt und den entsprechenden Farbindex auflistet. Auch bekannt als VBA-Farbpalette
Hier ist der Code, um eine solche Palette selbst zu erstellen. Oder merken Sie sich einfach diese Seite:
Sub FarbReferenz()
Dim x As Integer
For x = 1 To 56
If x < 29 Then
Cells(x, 1).Interior.ColorIndex = x
Cells(x, 2) = x
Else
Cells(x - 28, 3).Interior.ColorIndex = x
Cells(x - 28, 4) = x
End If
Next x
End Sub
VBA-ColorIndex-Beispiele
Zellenhintergrundfarbe festlegen
In diesem Beispiel wird die Zellenhintergrundfarbe festgelegt.
Range("A1").Interior.ColorIndex = 6
Zellenschriftfarbe festlegen
In diesem Beispiel wird die Zellenschriftfarbe festgelegt.
Range("A1").Font.ColorIndex = 5
Zellenrahmenfarbe festlegen
In diesem Beispiel wird die Zellenrahmenfarbe festgelegt.
Range("A1").Borders.ColorIndex = 5
ColorIndex des Zellenhintergrunds ermitteln
Dieses Beispiel ruft die Hintergrundfarbe der Zelle ab und weist sie einer Integer-Variablen zu.
Dim Farbe as Integer
Farbe = Range("A1").Interior.ColorIndex
Hintergrundfarbe einer Zelle auf die Farbe einer anderen einstellen
In diesem Beispiel wird die Farbe einer Zelle mit der Farbe einer anderen gleichgesetzt.
Range("A1").Interior.ColorIndex = Range("B1").Interior.ColorIndex
Die VBA-Eigenschaft Color
Statt der ColorIndex-Eigenschaft von Excel/VBA können Sie auch die Color-Eigenschaft verwenden. Die Color-Eigenschaft akzeptiert zwei Eingabetypen:
- vbColor
- RGB-Farben
Wir werden diese im Folgenden besprechen:
VB-Farbe
VB-Farbe ist der einfachste Methode, um Farben in VBA festzulegen. Allerdings ist sie auch am wenigsten flexibel. Um einen Farbcode mit vbColor festzulegen, verwenden Sie die folgende Tabelle:
Wie Sie jedoch aus der Tabelle ersehen können, sind Ihre Möglichkeiten äußerst begrenzt.
Zellenhintergrundfarbe einstellen
Range("A1").Interior.Color = vbYellow
Zellenschriftfarbe einstellen
Range("A1").Font.Color = vbBlue
Zellenrahmenfarbe einstellen
Range("A1").Borders.Color = vbRed
Hintergrundfarbe einer Zelle auf die Farbe einer anderen einstellen
Range("A1").Interior.Color = Range("B1").Interior.Color
RGB-Farben
RGB steht für Rot-Grün-Blau. Dies sind die drei Grundfarben, die kombiniert werden können, um jede andere Farbe zu erzeugen. Wenn Sie Farben als RGB eingeben, geben Sie für jeden Farbcode einen Wert zwischen 0 und 255 ein. Hier ist ein Beispiel:
Range("A1").Interior.Color = RGB(255,255,0)
Oben haben wir Rot = 255 (Höchstwert), Grün = 255 (Höchstwert) und Blau = 0 (Mindestwert) eingestellt. Dies setzt die Zellenhintergrundfarbe auf Gelb. Stattdessen können wir die Zellenschriftfarbe auf Lila einstellen:
Range("A1").Interior.Color = RGB(128,0,128)
Es gibt zahlreiche Online-Tools, um den RGB-Code für die gewünschte Farbe zu finden (hier ist eines).
ColorIndex-Codeliste & RGB-Farben in Access-VBA
Access verwendet Formulare zur Datenanzeige. Sie können die ColorIndex-Codes verwenden, um die Hintergrund- und Vordergrundfarbe von Objekten in Ihren Access-Formularen programmatisch zu ändern.
Private Sub cmdSpeichern_Click()
'Die Hintergrundfarbe der Speichern-Schaltfläche ändern, wenn der Datensatz gespeichert wird.
DoCmd.RunCommand acCmdSaveRecord
cmdSave.BackColor = vbGreen
End Sub