Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.10.2025 08:21:40
24.10.2025 18:10:41
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: RGB Farbcode auslesen

RGB Farbcode auslesen
16.07.2020 12:38:36
MarWin_115
Hallo,
ich möchte den RGB-Farbindex einer Zelle in Excel ermitteln.
Dazu habe ich folgenden VBA Code in ein Modul meiner Arbeitsmappe geschrieben:
Function RGB_Hintergrundfarbe(Farbe As Range)
Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
Wert = Farbe.Interior.Color
On Error Resume Next
Rot = Wert Mod 256
Wert = (Wert – Rot) / 256
Grün = Wert Mod 256
Wert = (Wert – Grün) / 256
Blau = Wert Mod 256
RGB_Hintergrundfarbe = Rot & „, “ & Grün & „, “ & Blau
End Function

Anschließend habe ich die Funktion in eine leere Zelle eingefügt und als Funktionsargument eine Zelle mit Hintergrundfarbe gewählt.
Daraufhin bringt er einen Fehler beim Kompilieren (Syntaxfehler).
Was mach ich verkehrt?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: RGB Farbcode auslesen
16.07.2020 12:42:06
Zwenn
Hallo Marwin,
ich habe Deinen Code nicht getestet. Aber Du musst der Funktion auch einen Ruckgabetyp spendieren ;-)
Function RGB_Hintergrundfarbe(Farbe As Range) As String
Viele Grüße,
Zwenn
AW: RGB Farbcode auslesen
16.07.2020 12:48:07
Zwenn
Ok,
geht auch ohne Rückgabetyp. Du hast für die Minus in den Wert Berechnungen und die Anführungsstriche in der Zeile für den Rückgabewert falsche Zeichenverwendet:

Function RGB_Hintergrundfarbe(Farbe As Range) As String
Dim Rot As Long
Dim Grün As Long
Dim Blau As Long
Dim Wert As Long
Wert = Farbe.Interior.Color
On Error Resume Next
Rot = Wert Mod 256
Wert = (Wert - Rot) / 256
Grün = Wert Mod 256
Wert = (Wert - Grün) / 256
Blau = Wert Mod 256
RGB_Hintergrundfarbe = Rot & ", " & Grün & ", " & Blau
End Function
Viele Grüße,
Zwenn

Anzeige
Er wird statt des VBE ein Textprogramm ...
16.07.2020 12:54:22
Luc:?
…benutzt haben, Zwenn,
was ein (tödlicher) Fehler ist. Denn, falls das komfortabel ist, wandelt es An-/Ausführungszeichen normgerecht um und aus Minus zwischen Leerzeichen wird Bindestrich.
Luc :-?
AW: Nein, Zwenn, genau das muss man idR nicht!
16.07.2020 13:28:55
Zwenn
Hallo Luc,
dass es ohne Rückgabetyp geht wußte ich vorher gar nicht. Hatte es ausprobiert und es ging. Danke für die Erklärung mit Variant. Hätte ich auch selbst drauf kommen können. Ist schließlich sowas wie eine Variable ohne Angabe eines expliziten Datentyps.
Viele Grüße,
Zwenn
AW: RGB Farbcode auslesen
16.07.2020 12:49:59
fcs
Hallo MarWin,
du hast in deinem Code Zeichen, die da nicht hingehören, woher auch immer: Die ANführungszeichen sind falsch und das Minuszeichen ist kein normaler Bindestrich/Minuszeichen.
LG
Franz
Code sollte im VBA-Editor so aussehen:
Function RGB_Hintergrundfarbe(Farbe As Range)
Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
Wert = Farbe.Interior.Color
On Error Resume Next
Rot = Wert Mod 256
Wert = (Wert - Rot) / 256
Grün = Wert Mod 256
Wert = (Wert - Grün) / 256
Blau = Wert Mod 256
RGB_Hintergrundfarbe = Rot & ", " & Grün & ", " & Blau
End Function

Anzeige
AW: RGB Farbcode auslesen
16.07.2020 13:23:38
MarWin_115
Hallo Franz,
sowas hatte ich mir schon gedacht, hatte die Formel nur kopiert.
Danke für die Korrektur!
LG MarWin_115
;

Forumthreads zu verwandten Themen

Anzeige
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

RGB Farbcode auslesen in Excel


Schritt-für-Schritt-Anleitung

Um den RGB-Farbcode einer Zelle in Excel zu ermitteln, kannst Du eine benutzerdefinierte Funktion in VBA verwenden. Folge diesen Schritten:

  1. Öffne Excel und gehe zu Entwicklertools > Visual Basic (oder drücke ALT + F11).

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden VBA-Code in das Modul ein:

    Function RGB_Hintergrundfarbe(Farbe As Range) As String
       Dim Rot As Long, Grün As Long, Blau As Long, Wert As Long
       Wert = Farbe.Interior.Color
       On Error Resume Next
       Rot = Wert Mod 256
       Wert = (Wert - Rot) / 256
       Grün = Wert Mod 256
       Wert = (Wert - Grün) / 256
       Blau = Wert Mod 256
       RGB_Hintergrundfarbe = Rot & ", " & Grün & ", " & Blau
    End Function
  4. Schließe den VBA-Editor und gehe zurück zu Deiner Excel-Arbeitsmappe.

  5. Verwende die Funktion in einer Zelle, indem Du z. B. =RGB_Hintergrundfarbe(A1) eingibst, wobei A1 die Zelle ist, deren Farbcode Du auslesen möchtest.


Häufige Fehler und Lösungen

  • Syntaxfehler: Achte darauf, dass die Zeichen wie Minuszeichen und Anführungszeichen korrekt sind. Verwende keine typografischen Anführungszeichen, da diese Fehler verursachen können.
  • Funktion gibt Fehler zurück: Stelle sicher, dass die Zelle, die Du abfragst, eine Hintergrundfarbe hat. Leere Zellen oder Zellen ohne Formatierung können zu unerwarteten Ergebnissen führen.
  • Rückgabetyp: Der Rückgabetyp der Funktion kann weggelassen werden; jedoch ist es eine gute Praxis, ihn als String zu definieren.

Alternative Methoden

Falls Du keine VBA-Funktion verwenden möchtest, kannst Du auch die Bedingte Formatierung in Excel nutzen, um Zellenfarben anzuzeigen, aber dies ist nicht so präzise wie das Auslesen des RGB-Wertes. Eine weitere Möglichkeit ist die Verwendung von Excel-Add-Ins, die RGB-Farbcodes anzeigen können.


Praktische Beispiele

  1. Farbcode eines grünen Hintergrunds: Wenn Du in Zelle A1 einen grünen Hintergrund hast und die Formel =RGB_Hintergrundfarbe(A1) verwendest, wird sie 0, 255, 0 zurückgeben.
  2. Zellenfarbe abfragen: Du kannst die Funktion auch in einer Tabelle verwenden, um mehrere Zellen gleichzeitig abzufragen und die RGB-Codes in einer neuen Spalte anzuzeigen.

Tipps für Profis

  • Farbcode anzeigen: Du kannst die RGB-Werte in ein Dropdown-Menü oder eine Datenvalidierung integrieren, um eine Farbpalette zu erstellen.
  • VBA-Optimierung: Überlege, Deine Funktion so zu erweitern, dass sie auch den Farbindex oder HEX-Codes zurückgibt.
  • Fehlervermeidung: Nutze On Error Resume Next vorsichtig, da dies alle Fehler ignoriert. Besser ist es, spezifische Fehlerbehandlungen zu implementieren.

FAQ: Häufige Fragen

1. Wie kann ich den Farbcode einer Zelle ohne VBA herausfinden?
Es gibt keine native Funktion in Excel, um den Farbcode direkt ohne VBA auszulesen. Du kannst jedoch manuell die Farben in der Farbpalette abgleichen.

2. Welche Excel-Version wird benötigt?
Die VBA-Funktion ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.

3. Kann ich die Zellenfarbe mit einer Formel abfragen?
Direkte Formeln zur Abfrage der Zellenfarbe sind nicht verfügbar. VBA ist der beste Weg, um den Farbcode auszulesen.

4. Wie kann ich die Hintergrundfarbe einer Zelle ändern?
Du kannst die Hintergrundfarbe einer Zelle über das Menü Start > Füllfarbe ändern oder die Formatierungsoptionen in der Symbolleiste verwenden.

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