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

Forumthread: Schriftfarbe in TextBox (enabled = False)

Schriftfarbe in TextBox (enabled = False)
08.03.2005 20:47:34
Xelleron
Guten Abend zusammen,
kann man bei einer TextBox die bei der Eigenschaft "enabled" auf False steht, die Schriftfarbe ändern? Im Moment wird die Schrift in einem leichten grau-beige (Backcolor = weiss) angezeigt. Die Schriftart läßt sich ändern, nur die Farbe nicht. Gibt es da eine Lösung für?
Gruß Xelleron
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Schriftfarbe in TextBox (enabled = False)
08.03.2005 20:56:30
Matthias
Hallo Dennis,
nein, aber alternativ könntest du .Locked = True setzen.
Gruß Matthias
AW: Schriftfarbe in TextBox (enabled = False)
08.03.2005 21:03:38
Xelleron
Hallo Matthias,
ja klar, habe wohl zu kompliziert gedacht.
Danke Dir!
Gruß Dennis
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Schriftfarbe in einer TextBox ändern (enabled = False)


Schritt-für-Schritt-Anleitung

Um die Schriftfarbe in einer TextBox zu ändern, die auf "enabled = False" gesetzt ist, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Wähle das entsprechende Formular aus, das die TextBox enthält.

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

    Private Sub UserForm_Initialize()
       TextBox1.Locked = True
       TextBox1.ForeColor = RGB(0, 0, 0) ' Setzt die Schriftfarbe auf Schwarz
    End Sub
  4. Schließe den VBA-Editor und teste das Formular, um sicherzustellen, dass die Schriftfarbe nun wie gewünscht angezeigt wird.

Diese Methode verwendet die .Locked-Eigenschaft, um die Eingabe zu sperren, während Du die Schriftfarbe anpassen kannst. Die Verwendung von ForeColor ermöglicht es Dir, die Schriftfarbe in HTML-Farben zu ändern.


Häufige Fehler und Lösungen

  • Fehler: Die Schriftfarbe ändert sich nicht.

    • Lösung: Stelle sicher, dass Du die .Locked-Eigenschaft der TextBox auf True gesetzt hast. Wenn die TextBox auf enabled = False steht, kannst Du die Schriftfarbe in der Regel nicht ändern.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Überprüfe, ob Du den Code im richtigen Modul platziert hast und dass das UserForm korrekt initialisiert wird.

Alternative Methoden

Eine alternative Methode, um die Schriftfarbe zu ändern, besteht darin, das Textfeld anstelle einer TextBox zu verwenden. Textfelder können flexibler in Bezug auf die Formatierung sein.

  • Verwendung eines Labels: Wenn Du nur den Text anzeigen möchtest, ohne dass der Benutzer interagieren kann, kannst Du ein Label verwenden und die Schriftfarbe dort problemlos anpassen.
Label1.ForeColor = RGB(0, 0, 255) ' Setzt die Schriftfarbe des Labels auf Blau

Praktische Beispiele

  1. Beispiel mit verschiedenen Farben:

    Private Sub UserForm_Initialize()
       TextBox1.Locked = True
       TextBox1.ForeColor = RGB(255, 0, 0) ' Rot
       TextBox1.BackColor = RGB(255, 255, 255) ' Weiß
    End Sub
  2. Beispiel zur Nutzung von HTML-Farben:

    Du kannst auch die HTML-Farbnamen verwenden, indem Du eine Funktion schreibst, die die RGB-Werte entsprechend umwandelt:

    Function HTMLFarbeToRGB(ByVal htmlFarbe As String) As Long
       ' Beispiel für einfache Umwandlung
       Select Case LCase(htmlFarbe)
           Case "red": HTMLFarbeToRGB = RGB(255, 0, 0)
           Case "green": HTMLFarbeToRGB = RGB(0, 255, 0)
           Case "blue": HTMLFarbeToRGB = RGB(0, 0, 255)
           ' Füge hier weitere Farben hinzu
           Case Else: HTMLFarbeToRGB = RGB(0, 0, 0) ' Standardfarbe Schwarz
       End Select
    End Function

Tipps für Profis

  • Verwende die .Enabled-Eigenschaft: Wenn Du die TextBox nicht sperren musst, kannst Du .Enabled = False verwenden, um die Interaktivität zu deaktivieren, während die Schriftfarbe geändert werden kann.

  • Formatiere mit HTML-Code: Bei komplexen Farbanforderungen kannst Du auch HTML-Code verwenden, um Farben präzise zu definieren.

  • Verwende VBA-Module: Du kannst die Farbänderungen in ein allgemeines VBA-Modul auslagern, um die Wiederverwendbarkeit des Codes zu erhöhen.


FAQ: Häufige Fragen

1. Kann ich die Schriftfarbe in einer deaktivierten TextBox ändern?
Nein, die Schriftfarbe einer TextBox, die auf enabled = False gesetzt ist, kann nicht geändert werden. Du solltest die .Locked-Eigenschaft verwenden.

2. Was passiert, wenn ich die .Locked-Eigenschaft auf True setze?
Wenn die .Locked-Eigenschaft auf True gesetzt ist, kann der Benutzer keine Eingaben mehr tätigen, aber die Schriftfarbe kann geändert werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige