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

Forumthread: Unter VBA RGB Farben wieder auslesen

Unter VBA RGB Farben wieder auslesen
07.05.2014 16:49:20
TommiH
Hallo,
ich habe eine Frage, wenn ich mit ActiveWorkbook.Colors(48) = RGB(255, 255, 255) eine Farbe zuweise klappt das wunderbar.
Nun würde ich aber, da ich das an mehreren Stellen, mit mehreren Farben mache, die Color(48) auch wieder auslesen, geht das irgendwie? Also das ich die RGB-Werte wieder zurückgeliefert bekomme?
Tommi

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Unter VBA RGB Farben wieder auslesen
07.05.2014 17:14:42
TommiH
Hallo ransi,
entweder verstehe ich den Code nicht richtig, oder ich habe mich falsch ausgedrückt.
Mein Problem ist nicht, das ich die Farbe einer Zelle wieder auslesen will, sondern die eingestellten RGB-Werte für die Farbe '48'.
Und das müsste ich auslesen BEVOR ich es nutze... ;)
Tommi

Anzeige
AW: Unter VBA RGB Farben wieder auslesen
07.05.2014 17:30:19
Thomas
Hey mit diesem Code müsste es gehen allerdings zeigt es die Farbe nicht als RGB an, musst es also umrechnen
Range("A1").Value = ActiveWorkbook.Colors(48)

...Und genau das wird unter dem ArchivLink ...
07.05.2014 18:13:13
Luc:-?
…gemacht!
Gruß Luc :-?
Besser informiert mit …

Anzeige
AW: ...Und genau das wird unter dem ArchivLink ...
07.05.2014 18:49:52
Ewald
Hallo,
reicht dir dies (aktive Zelle)
Sub Farbe()
Dim Farbwert As Long
Dim Rot
Dim Grün
Dim Blau
Farbwert = ActiveCell.Interior.Color
'Farbwert = ActiveWorkbook.Colors(48)
On Error Resume Next
Rot = Farbwert Mod 256
Farbwert = (Farbwert - Rot) / 256
Grün = Farbwert Mod 256
Farbwert = (Farbwert - Grün) / 256
Blau = Farbwert Mod 256
MsgBox "RGB  " & Rot & ", " & Grün & ", " & Blau & Chr(13) & "RGBLong  " & ActiveCell. _
Interior.Color & Chr(13) & "Index  " & ActiveCell.Interior.ColorIndex
End Sub
Gruß Ewald
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

RGB Farben in Excel VBA auslesen


Schritt-für-Schritt-Anleitung

Um RGB-Farben in Excel VBA auszulesen, kannst du folgenden Code verwenden. Dieser Code liest die RGB-Werte der Hintergrundfarbe einer Zelle und gibt sie in einer Meldungsbox aus.

Sub Farbe()
    Dim Farbwert As Long
    Dim Rot As Long
    Dim Grün As Long
    Dim Blau As Long

    ' Aktuelle Zelle auswählen
    Farbwert = ActiveCell.Interior.Color ' Oder verwende ActiveWorkbook.Colors(48) für eine spezifische Farbe
    On Error Resume Next
    Rot = Farbwert Mod 256
    Farbwert = (Farbwert - Rot) / 256
    Grün = Farbwert Mod 256
    Farbwert = (Farbwert - Grün) / 256
    Blau = Farbwert Mod 256

    ' RGB-Werte anzeigen
    MsgBox "RGB  " & Rot & ", " & Grün & ", " & Blau & Chr(13) & _
           "RGBLong  " & ActiveCell.Interior.Color & Chr(13) & _
           "Index  " & ActiveCell.Interior.ColorIndex
End Sub

Dieser Code nutzt die Interior.Color-Eigenschaft, um die aktuelle RGB-Farbe auszulesen. Du kannst auch ActiveWorkbook.Colors(n) verwenden, um spezifische Farben zu prüfen, wie in deinem Beispiel mit Colors(48).


Häufige Fehler und Lösungen

  1. Fehler: Falsche RGB-Werte angezeigt

    • Wenn du die RGB-Werte nicht korrekt erhältst, stelle sicher, dass die Zelle, aus der du die Farbe auslesen möchtest, tatsächlich eine Hintergrundfarbe hat.
  2. Fehler: Code funktioniert nicht wie erwartet

    • Vergewissere dich, dass du den Code in einem Modul innerhalb der VBA-Entwicklungsumgebung eingefügt hast, und dass das Makro korrekt gestartet wird.
  3. Fehler: Das Auslesen von Colors(48) gibt keine RGB-Werte zurück

    • ActiveWorkbook.Colors(n) gibt einen Long-Wert zurück, der in RGB umgerechnet werden muss, wie im Schritt-für-Schritt-Abschnitt beschrieben.

Alternative Methoden

Eine andere Methode, um die RGB-Farben zu ermitteln, ist die Verwendung von Excel-Formeln. Du kannst die FARBE-Funktion in einer Excel-Zelle nutzen, um den Farbcodes zu entsprechen. Allerdings kannst du damit nur die Indexnummer der Farbe zurückbekommen, nicht die RGB-Werte direkt.

Für eine umfassendere Analyse könntest du auch eine benutzerdefinierte Funktion in VBA erstellen, die die RGB-Werte direkt aus einer Zelle zurückgibt.


Praktische Beispiele

Um die RGB-Werte für eine bestimmte Zelle auszulesen, verwende den folgenden Code. Setze den Cursor auf die gewünschte Zelle und führe das Makro aus:

Sub BeispielRGBAuslesen()
    Range("A1").Interior.Color = RGB(255, 0, 0) ' Setze die Farbe auf rot
    Farbe ' Ruft die oben definierte Sub auf
End Sub

In diesem Beispiel wird die Zelle A1 auf Rot gesetzt, und anschließend werden die RGB-Werte dieser Farbe ausgelesen und angezeigt.


Tipps für Profis

  • Du kannst eine VBA RGB Farbpalette erstellen, indem du eine Sammlung von häufig verwendeten Farben in einem VBA-Modul speicherst. Dies erleichtert das Arbeiten mit excel vba rgb.
  • Nutze ColorIndex, wenn du auf eine Farbtabelle zugreifen möchtest. Dies kann nützlich sein, um schnell auf vordefinierte Farben zuzugreifen.
  • Um die vba rgb farben effizient zu verwalten, erstelle eine Lookup-Tabelle in Excel, die die Farbnamen und ihre entsprechenden RGB-Werte enthält.

FAQ: Häufige Fragen

1. Wie kann ich den RGB-Wert einer bestimmten Farbe herausfinden? Um den RGB-Wert einer Farbe zu ermitteln, kannst du die RGB()-Funktion in VBA verwenden, oder den Color-Wert einer Zelle auslesen, wie im Tutorial beschrieben.

2. Kann ich die RGB-Werte aus einer Farbtabelle auslesen? Ja, du kannst die ActiveWorkbook.Colors(n)-Methode verwenden, um RGB-Werte aus der vba rgb farbtabelle zu ziehen. Achte jedoch darauf, die Werte entsprechend zu konvertieren.

3. Wie kann ich eine Farbe in Excel VBA setzen? Du kannst die Interior.Color-Eigenschaft verwenden, um die Hintergrundfarbe einer Zelle zu ändern, z.B. ActiveCell.Interior.Color = RGB(255, 255, 255) für Weiß.

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