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

Forumthread: RGB Farbwerte als Variable

RGB Farbwerte als Variable
24.09.2021 15:27:24
Jockel
Hallo
habe eine gebärbte Zelle und habe in der danebenstehenden Zell über eine Funktion den RGB Farbwert ausgelesen.
Ergebnis ist zB in Zelle A2 = "0,255,0"
Nun habe ich einen Button auf dem Tabellenblat und wollte dem Button die Farbe aus der Zelle A2 geben:
Den RGB Farbwert habe ich mir einfach mal als String zusammengebaut.

Private Sub Workbook_Open()
Dim Farbe As String
Farbe = Worksheets("Farbtabelle").Range("A2")
CommandButton1.BackColor = "RGB(" & Farbe & ")"
End Sub
Das Funktioniert nicht.
Bekomme eine Fehlermeldung, dass das Objekt fehlt. Wie adressiere ich den Button auf dem Tabellenblatt richtig und habe ich das mit der Variablen richtig gemacht ?
Danke
Jockel
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: RGB Farbwerte als Variable
24.09.2021 15:56:19
ChrisL
Hi
z.B.

Dim Farbe As Variant
Farbe = Split(Worksheets("Farbtabelle").Range("A2"), ",")
CommandButton1.BackColor = RGB(Farbe(0), Farbe(1), Farbe(2))
cu
Chris
AW: RGB Farbwerte als Variable
25.09.2021 22:48:19
Jockel
Danke, hat geholfen
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

RGB Farbwerte als Variable in Excel nutzen


Schritt-für-Schritt-Anleitung

Um RGB Farbwerte als Variable in Excel VBA zu nutzen, befolge diese Schritte:

  1. Erstelle eine Excel-Tabelle mit einer Farbdefinition. Zum Beispiel in Zelle A2 den Wert "0,255,0" für die Farbe Grün.

  2. Füge einen ActiveX-Button in dein Arbeitsblatt ein. Du kannst dies über die Entwicklertools unter "Einfügen" und dann "Command Button" tun.

  3. Öffne den VBA-Editor (Alt + F11) und finde dein Arbeitsblatt im Projekt-Explorer.

  4. Füge den folgenden Code in das Code-Fenster des Arbeitsblatts ein:

    Private Sub Workbook_Open()
        Dim Farbe As String
        Farbe = Worksheets("Farbtabelle").Range("A2")
        CommandButton1.BackColor = RGB(Split(Farbe, ",")(0), Split(Farbe, ",")(1), Split(Farbe, ",")(2))
    End Sub
  5. Speichere dein Workbook und stelle sicher, dass es im .xlsm Format gespeichert ist, um Makros zu ermöglichen.

  6. Starte die Excel-Datei neu, um zu sehen, wie der Button die Farbe aus der Zelle A2 übernimmt.


Häufige Fehler und Lösungen

  • Fehler: "Objekt fehlt"

    • Stelle sicher, dass der Button den richtigen Namen hat. Im Beispiel heißt der Button CommandButton1. Überprüfe, ob der Name in der Eigenschaftenleiste korrekt ist.
  • Fehler: RGB-Wert wird nicht erkannt

    • Achte darauf, dass der RGB Farbwert im richtigen Format vorliegt (z.B. "0,255,0" ohne zusätzliche Leerzeichen).

Alternative Methoden

Eine alternative Methode zur Verwendung von RGB Farbwerten in Excel ist die Verwendung einer User Defined Function (UDF):

  1. Füge diesen Code in ein Modul im VBA-Editor ein:

    Function GetRGBColor(cell As Range) As Long
        Dim Farbe As Variant
        Farbe = Split(cell.Value, ",")
        GetRGBColor = RGB(Farbe(0), Farbe(1), Farbe(2))
    End Function
  2. Du kannst jetzt die Funktion =GetRGBColor(A2) in einer Zelle verwenden, um den RGB Farbwert zu erhalten.


Praktische Beispiele

Beispiel 1: Du hast eine Excel Farbtablette, in der die RGB Farbwerte für verschiedene Farben aufgelistet sind. Du kannst die oben genannten VBA-Codes verwenden, um die Hintergrundfarbe von verschiedenen Schaltflächen basierend auf den RGB Farbwerten in der Tabelle zu ändern.

Beispiel 2: Wenn du eine Farbänderung für mehrere Schaltflächen benötigst, kannst du eine Schleife verwenden, um die Hintergrundfarbe aller Buttons auf einmal zu ändern:

For Each ctrl In Me.Controls
    If TypeOf ctrl Is MSForms.CommandButton Then
        ctrl.BackColor = RGB(Split(Worksheets("Farbtabelle").Range("A2"), ",")(0), Split(Worksheets("Farbtabelle").Range("A2"), ",")(1), Split(Worksheets("Farbtabelle").Range("A2"), ",")(2))
    End If
Next ctrl

Tipps für Profis

  • Nutze benannte Bereiche für die Farbwerte in deiner Excel Tabelle. Das macht deinen Code flexibler und einfacher zu warten.
  • Experimentiere mit VBA-Fehlerbehandlungsroutinen, um sicherzustellen, dass dein Code auch bei ungültigen Eingaben stabil bleibt.
  • Erstelle eine VBA RGB Farbtafel, die alle verfügbaren Farben auflistet, um die Auswahl zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich RGB Farbwerte auch in Formeln verwenden?
Ja, du kannst RGB Farbwerte in benutzerdefinierten Funktionen verwenden, die in VBA definiert sind.

2. Wie kann ich die Farben dynamisch ändern?
Du kannst die Zellen, die RGB Farbwerte enthalten, dynamisch ändern und den Button bei jedem Öffnen des Dokuments aktualisieren lassen, indem du den Code im Workbook_Open Event verwendest.

3. Funktioniert das auch in Excel Online?
Die Verwendung von VBA ist in Excel Online nicht möglich. Du musst Excel Desktop verwenden, um VBA-Skripte auszuführen.

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