Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel Farbe

Excel Farbe
15.07.2008 19:14:24
Tom
Hi,
Ich habe nochmals eine Frage betr. Farben und Excel. In einem CSS-Sheet sehe ich den Farbcode "9AACC2". Wie wandle ich den in einen RGB-Wert um. Ich bitte um ein VBA-Beispiel.
Besten Dank im voraus
Tom

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Farbe
15.07.2008 19:34:04
Nepumuk
Hallo Tom,
das ist doch ein RGB - Wert. Allerdings als Hexadezimalzahl. Die kannst du ganz einfach so umwandeln:
Public Sub Beispiel()
    MsgBox Clng("&H" & "9AACC2")
End Sub

Ergibt so ein undefinierbares hellbraunbesch.
Gruß
Nepumuk

Anzeige
AW: Excel Farbe
15.07.2008 22:23:00
Yal
... wobei man dazu erklären sollte, dass diese RGB sich aus 3 hexadezimale Werte zusammensetzt:
9A, AC und C2.
Daher halte ich -reine persönliche Meinung- die Konvertierung der Werte als ganzes zwar richtig für die Steuerung durch VBA oder andere, aber um ein Vergleich mit vers. Controls, bei den die Eingabe aus 3 Schiebern R, G und B mit je eine Werte von 0 bis 255, sollte man jede einzel konvertieren:

Public Sub Beispiel()
MsgBox "R-Wert: " & Clng("&H" & "9A") & vbcr _
& "G-Wert: " & Clng("&H" & "AC") & vbcr _
& "B-Wert: " & Clng("&H" & "C2")
End Sub


Aber das ist nur Besserwisserei, die nicht blenden soll, dass Nepumuk schon richtig beantwortet hatte ;-)
Viel Erfolg
Yal

Anzeige
Warum so bescheiden, ...
16.07.2008 03:16:00
Luc:-?
...Yal?
Du hast da schon einen sehr wichtigen Gesichtspunkt ins Spiel gebracht! Wenn die Farbangabe einfach nur die Aneinanderreihung der 3 HexCodes in der Reihenfolge R-G-B ist wie zumeist üblich (auch in HTML!), ergibt sich mit HEXINDEZ bzw Nepumuk's VBA-Subroutine der falsche Farbwert. Zuvor müssten nämlich erstes und letztes Farbelement getauscht wdn. Und dann wäre die Farbe nicht "undefinierbar" Hellbraun (Rot-Skala RGB 76% 67% 60%), sondern "undefinierbar" Hellblau (Blau-Skala RGB 60% 67% 76%)... ;-)
Gruß Luc :-?

Anzeige
Noch mal was gelernt! (owT + Off-Topic)
16.07.2008 09:40:00
Yal
.

ich würde sagen die Farbe ist grau
16.07.2008 21:40:38
Tino
Hallo,
also ich würde sagen dies kommt einem Grau ganz nah!
Userbild
Hier der verwendete Code:

Option Explicit
Const HexW As String = "9AACC2"
Sub Test()
Dim mRGB() As String
Range("A1") = Farbe_RGB(HexW)
mRGB = Split(Range("A1"), "-")
Range("B1").Interior.Color = RGB(mRGB(0), mRGB(1), mRGB(2))
Range("A2") = FarbeHex_In_Color(HexW)
Range("B2").Interior.Color = Range("A2")
Range("A3") = Farbe_Hexa(Range("B1").Interior.Color)
End Sub
'RGB Farbe zurückgeben aus HEX Wert########################
Function Farbe_RGB(ByVal Wert As String) As String
Dim R$, G$, B$
Wert = Replace$(Wert, "#", "")
R = CDec("&H" & Mid$(Wert, 1, 2))
G = CDec("&H" & Mid$(Wert, 3, 2))
B = CDec("&H" & Mid$(Wert, 5, 2))
Farbe_RGB = R & "-" & G & "-" & B
End Function
'Color Farbe zurückgeben aus HEX Wert#####################
Function FarbeHex_In_Color(ByVal Wert As String) As Long
Dim R&, G&, B&
Dim X As Long
Wert = Replace$(Wert, "#", "")
R = CDec("&H" & Mid$(Wert, 1, 2))
G = CDec("&H" & Mid$(Wert, 3, 2))
B = CDec("&H" & Mid$(Wert, 5, 2))
X = R + (B * 65536 + G * 256)
FarbeHex_In_Color = X
End Function
'Color in Hex Wert
Function Farbe_Hexa(ByVal ZellFarb As Long) As String
Dim R$, G$, B$
B = ZellFarb \ 65536
G = (ZellFarb - B * 65536) \ 256
R = ZellFarb - B * 65536 - G * 256
R = Hex(R)
G = Hex(G)
B = Hex(B)
If Len(R) 


Gruß Tino

www.VBA-Excel.de


Anzeige
Kommt nah - Ja, st Grauton - Nein,...
22.07.2008 23:24:15
Luc:-?
...denn da müssten alle 3 Farbwerte gleich sein, Tino.
Mir kommt's durchaus "bläulich" vor und andersherum eben "bräunlich"! Aber es kann sich dabei natürlich auch um eine RAL-Farbe handeln, für die verschiedene "krumme" (zumindest früher) hardwareabhängige Codes festgelegt wurden. Die Farbnamen sind dann oft reine Phantasie, jedenfalls stelle ich mir auch unter Corel's Bananengelb was ganz anderes vor als ich dann zu sehen bekomme. Aber vielleicht liegt das ja daran, dass Männer Farben anders sehen als Frauen! Wer vergibt dann aber die Farbnamen...? ;-)
Gruß Luc :-?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Farben und Farbcode Umwandlung


Schritt-für-Schritt-Anleitung

Um den Hexadezimal-Farbcode wie "9AACC2" in einen RGB-Wert zu konvertieren, kannst du den folgenden VBA-Code verwenden. Dieser Code ist einfach und effektiv, um die Umwandlung durchzuführen.

Public Sub Beispiel()
    MsgBox "RGB-Wert: " & Clng("&H" & "9AACC2")
End Sub

Falls du die einzelnen RGB-Werte (Rot, Grün, Blau) separat haben möchtest, kannst du dies mit dem nachfolgenden Code erreichen:

Public Sub Beispiel()
    Dim R As Long, G As Long, B As Long
    R = Clng("&H" & "9A") ' R-Wert
    G = Clng("&H" & "AC") ' G-Wert
    B = Clng("&H" & "C2") ' B-Wert
    MsgBox "R: " & R & vbCrLf & "G: " & G & vbCrLf & "B: " & B
End Sub

Häufige Fehler und Lösungen

  1. Falsche Farbwerte: Wenn du den Hex-Code direkt ohne Umwandlung in RGB verwendest, kann es zu unerwarteten Farben kommen. Stelle sicher, dass du den Code entsprechend anpasst, wie oben gezeigt.

  2. Fehlermeldungen: Wenn du mit Clng("&H" & "Farbcode") arbeitest und eine Fehlermeldung erhältst, überprüfe, ob der Farbcode korrekt ist und ob die Syntax stimmt (z.B. "&H" vor dem Farbcode).


Alternative Methoden

Eine Möglichkeit, Farbwerte in Excel zu verarbeiten, ist die Verwendung der Excel-Funktionen selbst. Du kannst die RGB()-Funktion verwenden, um Farben direkt in Zellen zu setzen. Zum Beispiel:

Range("A1").Interior.Color = RGB(154, 172, 194) ' Setzt die Farbe auf den RGB-Wert

Eine andere Methode ist die Nutzung von RAL-Farben, die in Excel für Farbcodes verwendet werden können. Hier kannst du die RAL-Farben in RGB umrechnen, um sie in deinem Excel-Dokument zu verwenden.


Praktische Beispiele

Wenn du mit verschiedenen Farbcodes arbeitest, kann es hilfreich sein, eine Tabelle zu erstellen. Hier ist ein Beispiel, wie du eine Tabelle mit RAL-Farben in RGB umrechnen kannst:

RAL-Farbe RAL Hex RGB-Wert
RAL 5008 #003B5C RGB(0, 59, 92)
RAL 5014 #8B9DC3 RGB(139, 157, 195)
RAL 8019 #5B3A29 RGB(91, 58, 41)

Du kannst die RAL-Farben RGB umrechnen, indem du die entsprechenden Hex-Codes verwendest und sie in die RGB-Werte umwandelst.


Tipps für Profis

  • Hex-Codes speichern: Lege eine Tabelle mit häufig verwendeten Hex-Codes und den entsprechenden RGB-Werten an, um die Umwandlung zu beschleunigen.
  • VBA-Farbcode verwenden: Nutze die VBA RGB Farbtabelle, um schnell auf definierte Farben zuzugreifen und diese in deinen Projekten zu verwenden.
  • Automatisierung: Automatisiere die Umwandlung von RAL-Farben in RGB, indem du eine Funktion schreibst, die alle relevanten Werte in einem Durchgang berechnet.

FAQ: Häufige Fragen

1. Wie kann ich RAL-Farben in RGB umrechnen? Du kannst eine Funktion erstellen, die die RAL-Farben in RGB-Werte umwandelt, indem du die entsprechenden Hex-Codes verwendest.

2. Gibt es eine Liste der RAL-Farben in Excel? Ja, es gibt Tabellen, die RAL-Farben und ihre RGB-Werte auflisten, die du als Referenz in Excel nutzen kannst.

3. Wie benutze ich Farbcode in VBA? Verwende die &H-Notation, gefolgt von deinem Hex-Code, um Farben in VBA zu definieren, wie im Beispiel oben gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige