Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Farben in RGB umrechnen

Farben in RGB umrechnen
12.05.2008 12:52:00
Jochen
Hi,
ich verwende aus dem Archiv folgenden Code.

Sub RGB_Farbe()
Dim Farbe As Long, R As Integer, G As Integer, B As Integer
Farbe = ActiveCell.Interior.Color
R = Farbe And 255
G = (Farbe \ 256) And 255
B = Farbe \ 65536
MsgBox "Rot: " & R & Chr(10) & "Grün: " & G & Chr(10) & "Blau: " & B
End Sub


Ich möchte ihn aber auch verstehen, diese beiden zeilen sind mir unklar, was
bewirkt denn dieses And?
R = Farbe And 255
G = (Farbe \ 256) And 255
Danke schon mal und schönen tage allerseits.
mfg Jochen

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farben in RGB umrechnen
12.05.2008 14:13:00
Nepumuk
Hallo Jochen,
esrt mal zum Verständnis RGB = Rotwert*1 + Grünwert*256 + Blauwert*65536
das ist ein ganz einfacher Bitvergleich. Beispiel:
RGB(255, 255, 255) ergibt den Long-Wert 16.777.215
als Bit's geschrieben
111111 111111 111111
255 als Bit's geschrieben
111111
Also:
111111 111111 111111 And 000000 000000 111111 (Die Vornullen nur zur Verdeutlichung)
0 And 1 = 0
.
.
.
das ganze 12 mal dann kommt:
1 And 1 = 1
.
.
.
das ganze 6 mal
Ergebnis = 000000 000000 111111 also 255
Der Rotwert von 16.777.215 ist also 255
Der Operator \ gibt das ganzzahlige Ergebnis einer Division zurück. Damit schneiden wir praktisch den Rotanteil aus der Gesamtfarbe raus. Also:
16.777.215 \ 256 = 65.535 oder als Byte wieder
111111 111111 den Rest kennst du ja schon.
Gruß
Nepumuk

Anzeige
AW: Farben in RGB umrechnen
12.05.2008 15:01:07
Reinhard
Hallo Nepumuk,
weshalb wird denn hier R=51 , G=204 ,B=204 angezeigt, ich komme nicht dahinter.
Alles als Long zu definieren bringt auch nichts :-(

Option Explicit
Sub RGB_Farbe()
Dim Farbe As Long, R As Integer, G As Integer, B As Integer
ActiveCell.Interior.Color = RGB(80, 150, 220)
Farbe = ActiveCell.Interior.Color
R = Farbe And 255
G = (Farbe \ 256) And 255
B = Farbe \ 65536
MsgBox "Rot: " & R & Chr(10) & "Grün: " & G & Chr(10) & "Blau: " & B
End Sub


Danke ^ Gruß
Reinhard

Anzeige
AW: Farben in RGB umrechnen
12.05.2008 15:10:00
Nepumuk
Hallo Reinhard,
weil Excel nur 56 Farben verwaltet und in dem Fall die nächstliegende Farbe benutzt. Schau mal im Fülldialog welche Farbe aktiv ist, dann Extras - Optionen - Farben - diese Farbe markieren - Ändern - Benutzerdefiniert. Da siehst du die eingestellten RGB-Werte.
Gruß
Nepumuk

Anzeige
AW: Farben in RGB umrechnen
12.05.2008 18:50:34
Reinhard
Hallo Nepumuk,
falls ich schief liege dann melde dich bitte nochmal, ansonsten ist das nich nötig wenn ich das jetzt richtig sehe.
Ich kann einer Zelle über "Color" direkt keinen RGB Wert zuweisen, Excel nimmt dann irgendeinen passenden Wert aus den 56 Farben und ignoriert meine RGB Wünsche.
Ich kann ihr aber über .Interior.Corlorindex eine Zahl zwischen (0)1-56 zuweisen.
Wenn ich der Zelle den Colorindex 17 zuweise und dann dem Colorindex 17 eine andere RGB-Variante zuweise, dann klappst?
Danke ^ Gruß
Reinhard

Anzeige
AW: Farben in RGB umrechnen
12.05.2008 18:59:40
Nepumuk
Hallo Reinhard,
ja. Du musst dabei aber bedenken, dass dann jede Zelle, Schrift und Diagrammfüllung in der Mappe die mit diesem ColorIndex formatiert wurde, die neue Farbe bekommen.
Gruß
Nepumuk

Danke, du bist der Beste! oT
12.05.2008 16:00:00
Jochen
oT

AW: Farben in RGB umrechnen
12.05.2008 14:19:38
hary
Hallo Jochen
Bei R muesste es sein Aktuelle Farbe und 255. Wobei 255 fuer Rot steht. Schaetze damit ergibt sich das mischungsverhaeltniss der drei Grundfarben. Hier ist eine Seite da wird erklaert.
www.webmaster-resource.de/tutorials/css/css-tutorial-07.php
aber es gibt bestimmt im Forum der das erklaeren kann.
Gruss Hary
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Farben in RGB umrechnen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt.

  2. Aktiviere die Zelle, deren Hintergrundfarbe Du in RGB umrechnen möchtest.

  3. Öffne den VBA-Editor mit ALT + F11.

  4. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (DeinDateiname)", dann auf "Einfügen" > "Modul".

  5. Kopiere den folgenden Code in das Modul:

    Sub RGB_Farbe()
        Dim Farbe As Long, R As Integer, G As Integer, B As Integer
        Farbe = ActiveCell.Interior.Color
        R = Farbe And 255
        G = (Farbe \ 256) And 255
        B = Farbe \ 65536
        MsgBox "Rot: " & R & Chr(10) & "Grün: " & G & Chr(10) & "Blau: " & B
    End Sub
  6. Führe das Makro aus: Drücke F5 oder gehe zu "Ausführen" > "Sub/UserForm ausführen".

  7. Sieh Dir das Ergebnis im Popup-Fenster an.


Häufige Fehler und Lösungen

  • Problem: Das Makro gibt falsche RGB-Werte aus.

    • Lösung: Stelle sicher, dass die Zelle die gewünschte Farbe hat. Prüfe auch, ob Du die richtige Zelle aktiviert hast.
  • Problem: Excel ignoriert die RGB-Werte und zeigt stattdessen einen ColorIndex an.

    • Lösung: Verwende ActiveCell.Interior.ColorIndex, um den ColorIndex zu ändern, aber beachte, dass dies die RGB-Farbe überschreibt.

Alternative Methoden

  • Farben umrechnen in Excel: Du kannst auch die Excel-Funktion RGB() nutzen, um die RGB-Werte direkt in eine Zelle zu schreiben. Zum Beispiel:

    =RGB(255, 0, 0)  ' Gibt Rot zurück
  • CMYK in RGB umrechnen: Verwende die Formel, um CMYK-Werte in RGB umzurechnen. Diese kann in einer Excel-Zelle formuliert werden:

    =255 * (1 - C) * (1 - K)  ' Rot
    =255 * (1 - M) * (1 - K)  ' Grün
    =255 * (1 - Y) * (1 - K)  ' Blau

Praktische Beispiele

  • Farbe in RGB umrechnen: Wenn Du einen Farbcode wie #FF5733 hast, kannst Du die RGB-Werte wie folgt ermitteln:

    • Rot: 255
    • Grün: 87
    • Blau: 51
  • VBA zur Farbanpassung: Verwende den folgenden Code, um einer Zelle eine spezifische RGB-Farbe zuzuweisen:

    ActiveCell.Interior.Color = RGB(80, 150, 220)

Tipps für Profis

  • Nutze die VBA RGB-Farbtabelle, um schnell verschiedene Farbtöne zu finden.
  • Experimentiere mit ColorIndex und RGB, um eine breitere Palette von Farben in Deinen Excel-Dokumenten zu verwenden.
  • Erstelle eine Farbtabelle in Excel, um die RGB-Werte für häufig verwendete Farben zu speichern und schnell darauf zuzugreifen.

FAQ: Häufige Fragen

1. Wie kann ich CMYK in RGB umrechnen?
Du kannst eine Formel nutzen, die die CMYK-Werte in RGB umwandelt, wie oben beschrieben.

2. Warum zeigt Excel nur 56 Farben an?
Excel verwendet eine ColorIndex-Palette, die auf 56 voreingestellte Farben beschränkt ist. Um benutzerdefinierte Farben zu verwenden, musst Du die RGB-Werte direkt zuweisen.

3. Wie kann ich die RGB-Werte für RAL-Farben finden?
Nutze eine RAL Farben RGB Tabelle oder einen RGB RAL Umrechner, um die entsprechenden Werte zu erhalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige