Excel VBA – Wie Sie Hex Farbencode in RGB Umwandeln

Excel VBA - Wie Sie Hex Farbencode in RGB Umwandeln

In diesem Beitrag zeige ich Ihnen, wie Sie mit VBA einen hexadezimalen Farbencode in RGB umwandeln können.

111 VBA Makros die Ihr Leben leichter machen. Egal ob Sie Einsteiger oder fortgeschrittener Anwender sind – in diesem Buch finden Sie Lösungen für Ihre alltäglichen Aufgaben. Keine Vorkenntnisse notwendig.

Dieser Beitrag ist ein Teil der VBA Grundlagen Serie.

Das RGB-Modell bildet Farben durch das Mischen von Rot, Grün und Blau. Dabei kann jede der drei Farben einen Wert von 0 bis 255 annehmen. Null bedeutet, dass die Farbe überhaupt nicht vorhanden ist, wohingegen bei 255 der Farbanteil voll vorhanden ist.

So steht die RGB Darstellung (0,0,0) für schwarz, da weder Rot noch Grün oder Blau vorhanden ist. RGB (255, 0, 0) steht für rot, RGB (0, 255, 0) für grün und RGB (0, 0, 255) für blau. RGB (255, 255, 255) würde weiß ergeben, da man die Farben Rot, Grün und Blau mischt.

RGB Farbmodell

In der Hexadezimaldarstellung werden die Ziffern 0 bis 9 sowie die Buchstaben A bis F genutzt, um den Wert eines Bytes zu speichern. Dabei repräsentieren jeweils zwei Zeichen den Wert eines Bytes. 00 würde 0 bedeutet, während FF für 255 steht. Diese Schreibweise wird vor allem im Webdesign verwendet, um Farben darzustellen. Schwarz wird als 000000 (0,0,0) dargestellt und weiß als FFFFFF (255, 255, 255).

Da RGB wohl für die meisten Menschen einfacher zu lesen ist, zeige ich Ihnen, wie Sie mithilfe von VBA Hex Werte in RGB umwandeln können. Dazu legen wir zunächst ein neues Makro an.

Anschließend definieren wir Variablen für Rot, Grün und Blau Anteile als Byte sowie eine String-Konstante für den Hex Wert. Der Byte-Datentyp ist der kleinste Datenspeicher in VBA. Da er nur ein Byte lang ist, kann er vorzeichenlose Zahlen zwischen 0 und 255 speichern.

Sub HexToRgb()

Dim strHex As String
Dim bytRot As Byte
Dim bytGruen As Byte
Dim bytBlau As Byte

strHex = "1481BA"
End Sub

Unternehmensplanung mit SAP BPC

111 VBA Makros die Ihr Leben leichter machen

Wollen Sie Ihre langweiligen Routineaufgaben loswerden? Möchten Sie Excel an Ihre Bedürfnisse anpassen, Berechnungen automatisieren, eigene Dialogfelder erstellen und vieles mehr? Dieses Buch zeigt Ihnen, wie Sie Ihre Aufgaben schnell und einfach mit VBA erledigen.

Nun nutzen wir die Funktion CByte, um den Hexwert in Byte zu konvertieren. Um VBA klarzumachen, dass es sich um eine Hexadezimaldarstellung handelt, setzen wir „&H“ vor den eigentlichen Hexadezimalwert. Die ersten zwei Zeichen stehen für Rot-, die nächsten zwei für Grün- und die letzten zwei für Blauanteil. Diese lesen wir über Left, Mid und Right Funktionen aus.

Sub HexToRgb()

Dim strHex As String
Dim bytRot As Byte
Dim bytGruen As Byte
Dim bytBlau As Byte

strHex = "1481BA"

'Farbanteile extrahieren
bytRot = CByte("&H" & Left(strHex, 2))
bytGruen = CByte("&H" & Mid(strHex, 3, 2))
bytBlau = CByte("&H" & Right(strHex, 2))

End Sub

Schließlich geben wir die Ergebnisse in der Tabelle aus.

RGB Anteile werden angezeigt

Das komplette Makro sieht also wie folgt aus:

Sub HexToRgb()

Dim strHex As String
Dim bytRot As Byte
Dim bytGruen As Byte
Dim bytBlau As Byte

strHex = "1481BA"

'Farbanteile extrahieren
bytRot = CByte("&H" & Left(strHex, 2))
bytGruen = CByte("&H" & Mid(strHex, 3, 2))
bytBlau = CByte("&H" & Right(strHex, 2))

'Farbanteile anzeigen
With Tabelle1
.Range("A1") = "Rotanteil ist " & bytRot
.Range("A2") = "Grünanteil ist " & bytGruen
.Range("A3") = "Blauanteil ist " & bytBlau

'Hintergrundfarbe setzen
.Range("A4").Interior.Color = RGB(bytRot, bytGruen, bytBlau)

End With
End Sub

Die Beispiel Excel Datei mit dem sofort einsetzbaren Makro und 111+ andere Makros, die Ihr Leben leichter machen, finden Sie hier.

Beeindrucke deinen Chef mit coolen Excel Tricks!

  • Lasse dich von deinen Kollegen nicht abhängen!
  • Spare Zeit und nutze diese für angenehmere Dinge
  • Steigere deine Produktivität und Effizienz
  • Es ist leicht - In meinem Newsletter gebe ich Schritt für Schritt Anleitungen die jeder versteht
  • Bei der Anmeldung zu meinem Newsletter erhälst du das Buch „Excel Tricks die deinen Chef beeindrucken“ als Willkommensgeschenk.
20 Excel Tricks

Jetzt anfordern!

* Pflichtfeld
 
Kein SPAM. 100% sicher.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.