VBA-Eigenschaften: Farben einsetzen

Farben werden in Excel eingesetzt, um bestimmte Bereiche einer Tabelle hervorzuheben. In Excel wird die Hintergrundfarbe über die Anweisungen „Zellen formatieren / Ausfüllen“ ausgewählt. Ebenso können Schriftfarben und Rahmenfarben festgelegt werden.

In diesem Beitrag geht es um die Farbgestaltung mit VBA-Anweisungen.

1. Farben mit der Eigenschaft „Color“ einsetzen

Zunächst einmal stehen in VBA diese 8 Standardfarben zur Verfügung:

  • rot (vbRed)
  • blau (vbBlue)
  • grün (vbGreen)
  • schwarz (vbBlack)
  • weiß (vbWhite)
  • gelb (vbYellow)
  • Magenta (vbMagenta)
  • Cyan (vbCyan)

Die Standardfarben rufst Du mit „Color“ auf.

Den Hintergrund einer Zelle bezeichnest Du mit der Anweisung „Interior“, einen Rahmen mit „Borders“ und die Schrift mit „Font“.

Für die Beispiele in diesem Beitrag verwende z.B. eine einfache Personalliste.

Farben1

Zelle B3 soll einen gelben Hintergrund, Zelle C5 einen roten Rahmen und Zelle D7 eine Schrift in Magenta erhalten.

Schreibe dazu dieses Makro:

Sub Farbe1()
Range(„B3“).Interior.Color=vbYellow
Range(„C5“).Borders.Color=vbRed
Range(„D7“).Font.Color=vbMagenta
End Sub

Nach dem Makro-Lauf sieht die Tabelle so aus:

Farben2

2. Farben mit der Eigenschaft „ColorIndex“ einsetzen

Wenn Du mit dem ColorIndex arbeiten möchtest, musst Du natürlich wissen, welcher Index welche Farbe verkörpert. Mit der Anweisung ColorIndex kannst Du auf 56 Farben zurück greifen.

Du findest hierzu im Internet zahlreiche Beispiele, kannst Dir eine solche Übersicht aber auch selbst erstellen.

Erstelle Dir eine solche Tabelle mit den 56 Indizes:

Farben3

Schreibe nun diese Makro in ein Modul:

Sub Farbpalette()
Dim i As Integer
For i=1 To 14
Cells(2+i,3).Interior.ColorIndex = i
Next i
For k=15 To 28
Cells(2+k-14,6).Interior.ColorIndex = k
Next k
For l= 29 To 42
Cells(2+l-28,9).Interior.ColorIndex = l
Next l
For m=43 To 56
Cells(2+m-42,12).Interior.ColorIndex = m
Next m
End Sub

Deine zuvor erstellte Tabelle ist nun mit den Farbmustern gefüllt.

Farben4

Obwohl in der Tabelle die Hintergrundfarben (Interior) gezeigt werden, treffen sie ebenso auf Rahmen (Borders) und Schriftfarbe (Font) zu.

Bezogen auf die Personalliste arbeitest Du jetzt mit diesem Makro:

Sub Farbe2()
Range(„B3“).Interior.ColorIndex=27
Range(„C5“).Borders.ColorIndex=3
Range(„D7“).Font.ColorIndex=26
End Sub

Nun sieht die Liste, die dem Beispiel mit „Color“ zumindest sehr ähnelt, so aus:

Farben5

3. Farben mit dem Farbmodell RGB bestimmen

Die Farbbestimmung nach RGB führst Du in Excel durch, indem Du eine Zelle markierst, dann „Zellen formatieren / Ausfüllen /Weitere Farben /Benutzerdefiniert“ aufrufst und Werte für die Farben rot, grün und blau bestimmst. Diese können von 0 bis 255 reichen.

Für die Farbe 3 aus der ColorIndex-Palette z.B. ist dies die Einstellung:

Farben6

Mit einem Makro kannst Du zu den Rot-Grün-Blau-Einstellungen die Farben ausgeben lassen.

Sub Farbe3()
Dim i As Integer
For i=1 To 56
Cells(i+3,6).Interior.Color=RGB(Cells(i+3,2),Cells(i+3,3),Cells(i+3,4))
Next i
End Sub

Hier ein Auszug aus dem Ergebnis:

Farben7

Wenn die RGB-Werte bekannt sind, setzt dieses Makro die Wünsche um:

Sub Farbe4()
Range(„K20“).Interior.Color=RGB(0,128,128)
Range(„K25“).Borders.Color=RGB(153,15,102)
Range(„K30“).Font.Color=RGB(51,51,153)
End Sub

Ergebnis:

Farben8


Eine Datei mit den RGB-Farben findest Du hier: VBA_RGB-Farben

 

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s