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

Forumthread: Textbox bei klick leeren!

Textbox bei klick leeren!
Lisa
Hallo zusammen,
ich sitze vor folgendem Problem.
Ich möchte gern erreichen, dass wenn die UF aufgerufen wird, eine Textbox einen Text vorblendet!
Das erreiche ich hiermit!
Private Sub UserForm_initialize()
TextBox3.ForeColor = &H80000003
TextBox3 = "guten Tag"
End Sub
Wenn ich die Textbox anklicke, möchte ich sie aber leer haben was genau muss ich hierfür tun?
?
TextBox3.ForeColor = &H80000012
TextBox3 = ""
?
hat jemand eine Idee?
Danke für die Hilfe
LG Lisa
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Textbox bei klick leeren!
28.12.2011 12:57:39
Josef

Hallo Lisa,
probier es so.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub TextBox3_Enter()
  If TextBox3 = "Ihre Eingabe..." Then
    TextBox3 = ""
    TextBox3.ForeColor = &H80000012
  End If
End Sub


Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If TextBox3 = "" Then
    TextBox3 = "Ihre Eingabe..."
    TextBox3.ForeColor = &H80000003
  End If
End Sub


Private Sub UserForm_Initialize()
  TextBox3.ForeColor = &H80000003
  TextBox3 = "Ihre Eingabe..."
End Sub



« Gruß Sepp »

Anzeige
AW: Textbox bei klick leeren!
28.12.2011 13:31:01
Lisa
Suuuper, vielen Dank, dass funktioniert wie gewünscht!
LG Lisa
AW: Textbox bei klick leeren!
28.12.2011 13:49:03
Josef

Hallo Lisa,
probier es so.
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub TextBox3_Enter()
  If TextBox3 = "Ihre Eingabe..." Then
    TextBox3 = ""
    TextBox3.ForeColor = &H80000012
  End If
End Sub


Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If TextBox3 = "" Then
    TextBox3 = "Ihre Eingabe..."
    TextBox3.ForeColor = &H80000003
  End If
End Sub


Private Sub UserForm_Initialize()
  TextBox3.ForeColor = &H80000003
  TextBox3 = "Ihre Eingabe..."
End Sub



« Gruß Sepp »

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Textbox in Excel VBA beim Klick leeren


Schritt-für-Schritt-Anleitung

Um eine Textbox in Excel VBA zu leeren, wenn du sie anklickst, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA)-Editor zu öffnen.

  2. Füge eine UserForm hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer und wähle „Einfügen“ > „UserForm“.

  3. Füge eine Textbox hinzu: Ziehe eine Textbox aus der Toolbox auf die UserForm.

  4. Schreibe den Code: Gehe zu den Code-Editor der UserForm und füge den folgenden VBA-Code ein:

    Private Sub UserForm_Initialize()
        TextBox3.ForeColor = &H80000003 ' Setzt die Schriftfarbe auf grau
        TextBox3 = "guten Tag" ' Vorblenden des Textes
    End Sub
    
    Private Sub TextBox3_Enter()
        If TextBox3 = "guten Tag" Then
            TextBox3 = "" ' Leert die Textbox
            TextBox3.ForeColor = &H80000012 ' Setzt die Schriftfarbe auf schwarz
        End If
    End Sub
    
    Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        If TextBox3 = "" Then
            TextBox3 = "guten Tag" ' Setzt den Platzhalter zurück
            TextBox3.ForeColor = &H80000003 ' Setzt die Schriftfarbe auf grau
        End If
    End Sub
  5. Teste die UserForm: Starte die UserForm, um sicherzustellen, dass die Textbox beim Klick leer wird.


Häufige Fehler und Lösungen

  • Textbox bleibt nicht leer: Überprüfe, ob der TextBox3_Enter-Event korrekt verbunden ist. Der Event muss in der UserForm und nicht in einem Modul stehen.
  • Platzhalter wird nicht angezeigt: Stelle sicher, dass der Text in UserForm_Initialize und TextBox3_Exit identisch ist, um die Konsistenz zu gewährleisten.

Alternative Methoden

Eine alternative Möglichkeit, um die Textbox zu leeren, ist die Verwendung von InputBox statt UserForm. Hier kannst du die Eingaben direkt abfragen, ohne eine UserForm zu erstellen:

Sub EingabeAbfragen()
    Dim benutzerEingabe As String
    benutzerEingabe = InputBox("Bitte geben Sie etwas ein:", "Eingabe")
    If benutzerEingabe = "" Then
        MsgBox "Die Textbox war leer."
    End If
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie du den Code in einer UserForm verwenden kannst:

  1. UserForm mit Platzhalter: Die UserForm hat einen Platzhaltertext „guten Tag“, der beim Klicken gelöscht wird.
  2. Zurücksetzen der Textbox: Wenn die Textbox leer ist und der Benutzer sie verlässt, wird der Platzhalter zurückgesetzt.

Tipps für Profis

  • Verwende Konstanten: Anstelle von harten Werten für die Farben kannst du Konstanten definieren, um deinen Code leserlicher zu machen.

    Const cColorGray As Long = &H80000003
    Const cColorBlack As Long = &H80000012
  • Erweitere die Funktionalität: Du kannst das Verhalten der Textbox anpassen, indem du weitere Events wie Change oder KeyPress hinzufügst, um die Eingaben zu validieren.


FAQ: Häufige Fragen

1. Wie kann ich die Schriftfarbe der Textbox ändern?
Du kannst die Schriftfarbe der Textbox mit der ForeColor-Eigenschaft ändern, wie im Beispiel gezeigt.

2. Was passiert, wenn ich die UserForm schließe?
Wenn du die UserForm schließt, bleibt der Text in der Textbox unverändert, es sei denn, du hast spezifischen Code zum Zurücksetzen implementiert.

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