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

VBA Eigenschaften Farbwerte

Forumthread: VBA Eigenschaften Farbwerte

VBA Eigenschaften Farbwerte
Henner
Hallo!
Ich schlage mich jetzt schon einige Zeit damit herum, komme aber zu keiner Lösung. Daher richte ich mich nun an Euch. In welchem Format muss ich den Farbwert der z.B. eines Labels in VBA angeben?
Aktuell ist dort dieser Wert eingetragen: &H80000002&
Ich möchte aber die Farbe 99B4D1 (HEX) bzw. 153, 180, 209 (RGB) angeben.
Bekomme aber die Meldung, dass es sich um einen ungültigen Eigenschaftswert handelt.
In welchem Format muss ich das eintragen und wie rechne ich es um?
Besten Dank im Voraus
Gruß Henner
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Eigenschaften Farbwerte
12.02.2011 12:12:20
Gerd
Hallo Henner,
wo ist dein Label? In einem Userform oder einer Tabelle, eingefügt aus Steuerelementetoolbox oder Formular?
Möchtets Du die Schrift- oder Hintergrundfarbe ändern?
Gruß Gerd
AW: VBA Eigenschaften Farbwerte
12.02.2011 12:28:25
Henner
Hallo Gerd,
mein Label ist in einer UF, eingefügt als Steuerelement.
Ich möchte die Hintergrundfarbe über das Eigenschaftenfenster ändern.
Danke & Gruß
Henner
Anzeige
AW: VBA Eigenschaften Farbwerte
12.02.2011 12:39:00
Gerd
Hallo Henner,
über die Settings mache ich mir da keinen Kopf.
Private Sub UserForm_Initialize()
Label1.BackColor = RGB(153, 180, 209)
End Sub
Gruß Gerd
AW: VBA Eigenschaften Farbwerte
12.02.2011 12:46:19
Henner
Hallo Gerd,
diese Möglichkeit ist mir bekannt, es muss aber doch möglich sein dem Label von Beginn an eine Farbe zuzuordnen. Im Eigenschaftenfenster gibt es die Möglichkeit, Farben aus der Palette und Systemfarben auszuwählen. Zudem besteht eben die Möglichkeit, die Farbe in dem o.g. Format zu definieren. Ich weiß eben nur nicht welches Format das ist. Da es im gesamten Projekt etwa 200 Label sind, wäre es doch sehr umständlich diese einzeln anzusprechen. Die Label sollen einfach nur die genannte Hintergrundfarbe bekommen und diese wird auch nicht verändert..
Gruß Henner
Anzeige
AW: VBA Eigenschaften Farbwerte
12.02.2011 13:29:49
Gerd
Hallo Henner,
Labels dividiert durch Userform:
Private Sub UserForm_Initialize()
Dim Ctrl As Control
For Each Ctrl In Controls
If Ctrl.Name Like "Label" & "*" Then Ctrl.BackColor = RGB(153, 180, 209)
Next
End Sub
Gruß Gerd
AW: VBA Eigenschaften Farbwerte
12.02.2011 13:40:10
Henner
Moin Gerd,
die Antwort von Sepp war meine gesuchte Lösung.
Danke auch dir für deine Hilfe!
Henner
Anzeige
AW: VBA Eigenschaften Farbwerte
12.02.2011 13:07:31
Josef

Hallo Henner,
bei den HEX-Werten musst du die Reihenfolge umkehren.
Userbild

Gruß Sepp

Anzeige
AW: VBA Eigenschaften Farbwerte
12.02.2011 13:39:23
Henner
Moin Sepp,
diese Info habe ich gesucht!
Merci
Henner
;
Anzeige
Anzeige

Infobox / Tutorial

Farbwerte in VBA: So passt du die Hintergrundfarbe von Labels an


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor in Excel, indem du ALT + F11 drückst.

  2. Navigiere zu deinem UserForm und wähle das Label aus, dessen Hintergrundfarbe du ändern möchtest.

  3. Verwende den RGB-Funktion im Code, um die gewünschte Farbe zu setzen. Hier ein Beispiel:

    Private Sub UserForm_Initialize()
       Label1.BackColor = RGB(153, 180, 209) ' Setze die Hintergrundfarbe auf RGB
    End Sub
  4. Wenn du mehrere Labels anpassen möchtest, kannst du eine Schleife verwenden, um die Farbe für alle Labels gleichzeitig zu setzen:

    Private Sub UserForm_Initialize()
       Dim Ctrl As Control
       For Each Ctrl In Controls
           If Ctrl.Name Like "Label*" Then
               Ctrl.BackColor = RGB(153, 180, 209) ' Setze die Farbe für alle Labels
           End If
       Next
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Ungültiger Eigenschaftswert

    • Lösung: Stelle sicher, dass der Farbwert im richtigen Format angegeben ist. Verwende die RGB-Funktion anstelle von HEX-Werten, um Missverständnisse zu vermeiden.
  • Fehler: Label wird nicht angezeigt

    • Lösung: Überprüfe, ob das Label im UserForm korrekt platziert ist und sichtbar ist.

Alternative Methoden

  • Farbwerte in HEX umwandeln: Wenn du gerne mit HEX-Werten arbeitest, kannst du die Werte umkehren. Für die Farbe 99B4D1 (HEX) musst du sie in den RGB-Werten angeben:

    • HEX 99B4D1 wird zu RGB 153, 180, 209.
  • Verwendung von Systemfarben: Du kannst auch Systemfarben verwenden, z.B. vbRed, vbBlue, etc.


Praktische Beispiele

  • Beispiel 1: Setze die Hintergrundfarbe eines einzelnen Labels:

    Private Sub UserForm_Initialize()
       Label1.BackColor = RGB(153, 180, 209) ' Hintergrundfarbe für Label1
    End Sub
  • Beispiel 2: Setze die Hintergrundfarbe für alle Labels im UserForm:

    Private Sub UserForm_Initialize()
       Dim Ctrl As Control
       For Each Ctrl In Controls
           If TypeOf Ctrl Is MSForms.Label Then
               Ctrl.BackColor = RGB(153, 180, 209) ' Hintergrundfarbe für alle Labels
           End If
       Next
    End Sub

Tipps für Profis

  • Verwende Konstanten: Definiere eine Konstante für deine Farbwerte, um den Code klarer und wartungsfreundlicher zu gestalten.

    Const labelColor As Long = &H99B4D1 ' HEX-Wert als Konstante
  • Dokumentation: Halte deinen Code gut dokumentiert, damit du und andere ihn später leichter verstehen können.


FAQ: Häufige Fragen

1. Wie kann ich die Hintergrundfarbe in einem UserForm setzen? Du kannst die Farbe in der UserForm_Initialize-Subroutine mit der BackColor-Eigenschaft und der RGB-Funktion setzen.

2. Warum funktioniert der HEX-Wert nicht? In VBA wird normalerweise die RGB-Funktion verwendet. HEX-Werte müssen in RGB umgewandelt werden, um korrekt angewendet zu werden.

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