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

Forumthread: Userform Background Farbe in VBA zuweisen

Userform Background Farbe in VBA zuweisen
16.11.2006 12:28:15
Elmar
Hallo Ihr Excel-Profis,
Wie kann ich einer Userform eine Farbe zuweisen?
Controls("frmAdress").Backcolor = &HB0B0B0
funktioniert nicht und bringt den Fehler, das angegebene Objekt wurde nicht gefunden.
Controls("Textbox1").BackColor = &HB0B0B0
Controls("Label1").BackColor = &HB0B0B0
geht aber.
Was mache ich falsch?
Vielen Dank fürs Lesen Eindenken und Antworten
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Background Farbe in VBA zuweisen
16.11.2006 12:32:50
Bert
Hallo Elmar,
Userform1.BackColor = &HB0B0B0
Gruß, Bert
AW: Userform Background Farbe in VBA zuweisen
16.11.2006 12:50:15
Elmar
Hallo Bert,
Danke für die Antwort, klappt leider immer nicht.
Fehler jetzt: Variable nicht definiert in Zeile
Userform1.BackColor = &HB0B0B0
Hintergrund der Routine: ERstelle Userform die auf zwei Rechner mit unterschiedlichen Bildschirmen läuft, das Grau des einen Rechnes ist völlig anders als das Grau des anderen Bildschirms. iCH MÖCHTE ÜBER Spinbuttons das Grau hoch- oder runterklickern. Das geth auch alles, nur die Userform wird nicht grau.
Hier der Code
Dim BackcolorFb(10)
Dim BackcolorZähler, BackcolorTT
Dim AnzahlTB
BackcolorFb(1) = &HF0F0F0
BackcolorFb(2) = &HE0E0E0
BackcolorFb(3) = &HD0D0D0
BackcolorFb(4) = &HC0C0C0
BackcolorFb(5) = &HB0B0B0
BackcolorFb(6) = &HA0A0A0
BackcolorFb(7) = &H909090
BackcolorFb(8) = &H808080
BackcolorFb(9) = &H707070
BackcolorZähler = 4
BackcolorTT = BackcolorFb(4)
AnzahlTB = 25

Private Sub SpinButton2_SpinDown()
If BackcolorZähler < 9 Then
BackcolorTT = BackcolorFb(BackcolorZähler + 1)
BackcolorZähler = BackcolorZähler + 1
End If
Controls("Label24").Caption = BackcolorTT
UserformFarbeÄndern
End Sub


Private Sub SpinButton2_SpinUp()
If BackcolorZähler > 1 Then
BackcolorTT = BackcolorFb(BackcolorZähler - 1)
BackcolorZähler = BackcolorZähler - 1
End If
Controls("Label24").Caption = BackcolorTT
UserformFarbeÄndern
End Sub

Sub UserformFarbeÄndern()
For I = 0 To AnzahlTB
Userform1.BackColor = &HB0B0B0
'Controls("frmAddress").Backcolor = BackcolorTT
On Error Resume Next
Controls("TextBox" & I).BackColor = Weiß
On Error Resume Next
Controls("TextBox" & I).Value = ""
On Error Resume Next
Controls("Label" & I).BackColor = BackcolorTT
Next I
End Sub
Was ist jetzt noch falsch, muß ich die Userform auch noch dim-en?
Bei Name im Eigenschaftenfenster der UF steht: frmAddress
Danke fürs Antworten
Anzeige
AW: Userform Background Farbe in VBA zuweisen
16.11.2006 12:34:27
Bert
Farbzuweisung für die zugehörigen Objekte wie folgt:
Userform1.Textbox1.BackColour=&HB0B0B0
Userform1.Label1.BackColour=&HB0B0B0
Gruß, Bert
Userform Farbe wechseln geht
16.11.2006 15:42:17
Bert
Hi Elmar,
habe die abgeänderte Datei hochgeladen.
Falls weitere Fragen sind, bin nur noch bis 16.00 online, danach erst wieder morgen früh.
https://www.herber.de/bbs/user/38242.xls
Gruß, Bert
Anzeige
Vielen Dank-hat geholfen-so einfach war das.. oT
16.11.2006 17:15:02
Elmar
Danke für die Rückmeldung, oT
17.11.2006 08:05:13
Bert
Frage noch offen o.T.
16.11.2006 14:15:02
Elmar
oT
Anzeige
AW: Frage noch offen o.T.
16.11.2006 15:01:02
Kurt
Hi,
stell in den Eigenschaften der Label BackStyle transparent (0) ein.
mfg Kurt
AW: Frage noch offen o.T.
16.11.2006 15:27:46
Elmar
Hallo Kurt!
Danke, aber ich verstehs nicht ganz. Die Userform soll sich ja in der Farbe verändern und nicht die Labels. Die ändern sich ja schon, die Userform aber nicht.
Sobald sich die UF ändert, wird deine Idee helfen, aber vorher (leider) noch nicht.
Ich braUCHE eine Lösung für die BackColor der UF.
Hast Du noch eine Idee?
mfg
Elmar
Anzeige
AW: Frage noch offen o.T.
16.11.2006 15:50:14
Kurt
Hi,
wenn du die Label transparent machst, brauchst du deren Farbe nicht zu ändern.
Warum die Userform unbedingt deine Farbe haben soll, ist nicht klar. Andere User
haben halt ihre eigenen Einstellungen in der Systemsteuerung und die sollte man ihnen
auch lassen. Sowas nennt man ganz schlechten Programmierstil.
mfg Kurt
Anzeige
abgeänderte Datei hochgeladen
16.11.2006 16:21:12
Bert
Hi Elmar,
habe die abgeänderte Datei hochgeladen.
Falls weitere Fragen sind, bin nur noch bis 16.00 online, danach erst wieder morgen früh.
https://www.herber.de/bbs/user/38242.xls
Gruß, Bert
;
Anzeige
Anzeige

Infobox / Tutorial

Userform Hintergrundfarbe in VBA ändern


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarbe einer Userform in VBA zu ändern, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Wähle Deine Userform aus: Klicke im Projekt-Explorer auf die Userform, die Du anpassen möchtest.

  3. Füge den Code hinzu: Du kannst den Hintergrund der Userform mit dem folgenden Code ändern:

    Userform1.BackColor = &HB0B0B0

    Stelle sicher, dass Du den Namen der Userform korrekt eingibst. In diesem Beispiel ist es Userform1.

  4. Verwende Farbcodes: Wenn Du verschiedene Farben verwenden möchtest, kannst Du die vba backcolor codes verwenden, wie z.B.:

    Userform1.BackColor = &HE0E0E0
  5. Testen der Userform: Schließe den VBA-Editor und teste die Userform, um sicherzustellen, dass die Hintergrundfarbe korrekt angezeigt wird.


Häufige Fehler und Lösungen

  • Fehler: "Das angegebene Objekt wurde nicht gefunden."

    • Überprüfe, ob der Name der Userform korrekt in Deinem Code angegeben ist. Beispielsweise könnte Controls("frmAdress") falsch sein, wenn Deine Userform tatsächlich Userform1 heißt.
  • Fehler: "Variable nicht definiert."

    • Stelle sicher, dass alle Variablen, die Du verwendest, korrekt deklariert sind. Wenn Du BackcolorZähler verwendest, stelle sicher, dass Du ihn vorher definiert hast.
  • Farbe ändert sich nicht.

    • Vergewissere Dich, dass der Code zur Änderung der Farbe tatsächlich ausgeführt wird. Überprüfe, ob die Subroutine, die den Code enthält, aufgerufen wird.

Alternative Methoden

Wenn Du die Hintergrundfarbe einer Userform ändern möchtest, gibt es verschiedene Möglichkeiten:

  • Direkte Zuweisung: Ähnlich wie in der Schritt-für-Schritt-Anleitung gezeigt:

    Userform1.BackColor = &HC0C0C0
  • Verwendung von Spinbuttons: Du kannst den Hintergrund dynamisch ändern, indem Du Spinbuttons verwendest, um zwischen vordefinierten vba userform backcolor codes zu wechseln.

  • Transparente Labels: Wenn Du die Labels transparent machst (Label.BackStyle = fmBackStyleTransparent), wird die Userform-Farbe darunter sichtbar.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung der vba backcolor:

  1. Ändern der Userform-Farbe bei einem Button-Klick:

    Private Sub CommandButton1_Click()
       Userform1.BackColor = &HE0E0E0
    End Sub
  2. Dynamisches Ändern der Textbox-Farbe:

    Private Sub SpinButton1_SpinUp()
       Controls("TextBox1").BackColor = &HFFFFFF ' Weiß
    End Sub
  3. Einen Farbwechsel mit Farbcodes:

    Private Sub Userform_Initialize()
       Userform1.BackColor = &H808080 ' Grau
    End Sub

Tipps für Profis

  • Verwende Konstanten: Definiere Farbcodes als Konstanten, um den Code lesbarer zu machen.

  • Farben in einer Liste speichern: Erstelle ein Array von vba userform backcolor codes, um die Farben einfacher zu verwalten.

  • Testen in verschiedenen Umgebungen: Teste Deine Userform auf verschiedenen Monitoren, um sicherzustellen, dass die Farben konsistent aussehen.


FAQ: Häufige Fragen

1. Wie kann ich die Hintergrundfarbe einer Textbox ändern? Um die Hintergrundfarbe einer Textbox zu ändern, benutze folgenden Code:

TextBox1.BackColor = &HB0B0B0

2. Was sind die gängigsten Farbcodes in VBA? Einige gängige Farbcodes sind:

  • Grau: &H808080
  • Hellgrau: &HE0E0E0
  • Dunkelgrau: &H404040

3. Kann ich die Hintergrundfarbe transparent machen? Ja, Du kannst die Hintergrundfarbe eines Steuerelements transparent machen, indem Du den BackStyle auf transparent setzt:

Label1.BackStyle = fmBackStyleTransparent

4. Wie kann ich die Userform-Farbe per Tastenkombination ändern? Du kannst eine Tastenkombination in Excel zuweisen, um eine Subroutine zur Farbänderung 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