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

Forumthread: VBA-BackColor-Farbwert in RGB Farbwert wandeln?

VBA-BackColor-Farbwert in RGB Farbwert wandeln?
Kasimir
Hallo Leute!
Ich hoffe, Ihr könnt mir helfen? Ich habe bei einer UserForm einen Farbwert für die Hintergrundfarbe (BackColor). Nun müsste ich wissen, wie man die Angabe des BackColor „&H00FAD3D3&“ in RGB-Farbwerte wandelt, da ich die RGB-Farbwerte, also rot, grün und blau, für eine Farbeinstellung in einem anderen Programm benötige.
Danke Euch für die Hilfe,
Kasimir
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA-BackColor-Farbwert in RGB Farbwert wandeln?
27.07.2011 09:54:35
Tino
Hallo,
versuch mal so.
kommt als Code in UserForm1
Option Explicit 
 
Private Sub CommandButton1_Click() 
Dim nR, nG, nB 
 
Farbe_RGB Me.BackColor, nR, nG, nB 
 
Range("A1").Interior.Color = RGB(nR, nG, nB) 
End Sub 
kommt als Code in Modul1
Option Explicit 
 
Sub Farbe_RGB(ByVal BackColorWert, nR, nG, nB) 
Dim R, G, B 
 
R = Hex(BackColorWert - (BackColorWert \ 65536) * 65536 - _
    ((BackColorWert - (BackColorWert \ 65536) * 65536) \ 256) * 256) 
 
G = Hex((BackColorWert - (BackColorWert \ 65536) * 65536) \ 256) 
 
B = Hex(BackColorWert \ 65536) 
 
If Len(R) < 2 Then R = R & "0" 
If Len(G) < 2 Then G = G & "0" 
If Len(B) < 2 Then B = B & "0" 
 
nR = CDec("&H" & R) 
nG = CDec("&H" & G) 
nB = CDec("&H" & B) 
 
End Sub 
 
Gruß Tino
Anzeige
AW: VBA-BackColor-Farbwert in RGB Farbwert wandeln?
27.07.2011 10:03:36
Kasimir
Hallo Tino,
perfekt, danke Dir für Deinen VBA-Code. Der Hilft mir weiter.
Einen schönen Tag noch,
Kasimir
Anzeige
Anzeige

Infobox / Tutorial

VBA BackColor Farbwerte in RGB umwandeln


Schritt-für-Schritt-Anleitung

Um den BackColor einer UserForm in RGB-Farbwerte zu verwandeln, kannst Du den folgenden VBA-Code verwenden. Dieser Code wandelt den BackColor-Wert in die RGB-Komponenten Rot, Grün und Blau um.

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge einen neuen Modul hinzu (Rechtsklick auf dein Projekt > Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Option Explicit

Sub Farbe_RGB(ByVal BackColorWert, nR, nG, nB)
    Dim R, G, B

    R = Hex(BackColorWert - (BackColorWert \ 65536) * 65536 - _
        ((BackColorWert - (BackColorWert \ 65536) * 65536) \ 256) * 256)

    G = Hex((BackColorWert - (BackColorWert \ 65536) * 65536) \ 256)

    B = Hex(BackColorWert \ 65536)

    If Len(R) < 2 Then R = R & "0"
    If Len(G) < 2 Then G = G & "0"
    If Len(B) < 2 Then B = B & "0"

    nR = CDec("&H" & R)
    nG = CDec("&H" & G)
    nB = CDec("&H" & B)
End Sub
  1. Füge den folgenden Code in Deine UserForm ein:
Private Sub CommandButton1_Click()
    Dim nR, nG, nB

    Farbe_RGB Me.BackColor, nR, nG, nB

    Range("A1").Interior.Color = RGB(nR, nG, nB)
End Sub

Jetzt kannst Du mit einem Klick auf den Button die RGB-Werte der Hintergrundfarbe Deiner UserForm in die Zelle A1 einfügen.


Häufige Fehler und Lösungen

  • Fehler: „Typ nicht definiert“

    • Lösung: Stelle sicher, dass Du Option Explicit am Anfang Deines Moduls hast, um die Variablen zu deklarieren.
  • Fehler: Zelle wird nicht gefärbt

    • Lösung: Überprüfe, ob der BackColor tatsächlich einen gültigen Farbwert hat und dass die Zelle A1 nicht geschützt ist.

Alternative Methoden

Eine alternative Methode zur Umwandlung von BackColor in RGB ist die Nutzung der Excel-Farbfunktion direkt in einer Formel. Diese Methode ist einfacher, erfordert jedoch die manuelle Eingabe des Farbwerts:

=RGB(255, 0, 0) ' Beispiel für Rot

Praktische Beispiele

Hier sind einige Beispiele, wie Du BackColor in RGB umwandeln kannst:

  • Beispiel 1: Umwandlung des BackColor-Wertes &H00FAD3D3 in RGB:

    • Füge den Wert in die Farbe_RGB-Funktion ein, um die RGB-Werte zu erhalten.
  • Beispiel 2: Nutzung einer UserForm mit einem Button, der die Hintergrundfarbe ändert und gleichzeitig die RGB-Werte in eine Excel-Tabelle schreibt.


Tipps für Profis

  • Nutze die vba backcolor codes, um eine Liste von häufig verwendeten Farben zu erstellen. Dies kann Dir helfen, die gewünschten Farbcodes schneller zu finden und zu verwenden.
  • Experimentiere mit den RGB-Werten in einem UserForm, um dynamisch Farbänderungen zu testen, bevor Du sie in Dein Excel-Dokument überträgst.

FAQ: Häufige Fragen

1. Wie kann ich die RGB-Werte direkt in eine Zelle schreiben? Du kannst die RGB-Werte mit der Range.Interior.Color-Eigenschaft in die gewünschte Zelle schreiben, wie im obigen Beispiel gezeigt.

2. Welche Excel-Version benötige ich für VBA? VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.

3. Was ist der Unterschied zwischen BackColor und ForeColor? BackColor bezieht sich auf die Hintergrundfarbe eines Objekts, während ForeColor die Schriftfarbe oder die Farbe des Vordergrunds angibt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige