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

Forumthread: Clear TextBox in Userform?

Clear TextBox in Userform?
17.02.2005 15:19:54
Marius
Halle Leute,
wie lautet der clear Code, um in einer UserForm die Textboxen zu leeren?
Danke schon mal im Voraus
Marius
Anzeige

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

Betreff
Datum
Anwender
Anzeige
TextBox="" o.T.
17.02.2005 15:23:00
Dominic
Gruß
Dominic
AW: TextBox="" o.T.
Marius
Danke Dominic
AW: Clear TextBox in Userform?
17.02.2005 15:52:28
Ralf
Hallo Marius,
es ist besser, wenn du dir angewöhnst Textboxen nach einem bestimmten Muster zu benennen. Das hat den Vorteil, dass du die Textboxen auf "einen Rutsch" leeren kannst. Wenn du natürlich nur eine oder zwei hast spielt das keine Rolle. Nennst du deine Textboxen z. B. immer TEX_ und dann eben eine Zahl dann kannst du mit folgendem Code alle Textboxen auf einmal leeren:

Sub ich_habe_fertig()
Dim CB As Control
For Each CB In UserForm1.Controls
If Left(CB.Name, 4) = "TEX_" Then CB.Value = ""
Next
End Sub

Gruß
Ralf
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Textboxen in einer UserForm mit VBA leeren


Schritt-für-Schritt-Anleitung

Um Textboxen in einer UserForm mit VBA zu leeren, kannst du folgenden Code verwenden. Es ist empfehlenswert, deine Textboxen nach einem bestimmten Muster zu benennen, damit du sie effizient leeren kannst. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Wähle die UserForm aus, die du bearbeiten möchtest.
  3. Füge einen Button oder ein anderes Steuerelement hinzu, das den Code ausführen soll.
  4. Klicke mit der rechten Maustaste auf das Steuerelement und wähle "Code anzeigen".
  5. Füge den folgenden Code ein:
Sub ich_habe_fertig()
    Dim CB As Control
    For Each CB In UserForm1.Controls
        If Left(CB.Name, 4) = "TEX_" Then CB.Value = ""
    Next
End Sub
  1. Speichere die Änderungen und teste die UserForm.

Mit diesem Code kannst du alle Textboxen, die mit "TEX_" beginnen, auf einmal leeren, was den Prozess vereinfacht und beschleunigt.


Häufige Fehler und Lösungen

  1. Fehler: Textbox bleibt nicht leer

    • Lösung: Überprüfe, ob die Textboxen korrekt benannt sind. Der Code funktioniert nur für Textboxen mit dem Prefix "TEX_".
  2. Fehler: "Objektvariable nicht festgelegt"

    • Lösung: Stelle sicher, dass die UserForm und die Textboxen ordnungsgemäß initialisiert wurden. Prüfe auch, ob die UserForm tatsächlich geöffnet ist, wenn du den Code ausführst.
  3. Fehler: Der Code wird nicht ausgeführt

    • Lösung: Überprüfe, ob das Steuerelement, das den Code ausführt, korrekt mit dem VBA-Code verknüpft ist. Achte darauf, dass der Code im richtigen Ereignis (z.B. Click-Ereignis) steht.

Alternative Methoden

Wenn du keine bestimmte Namenskonvention für deine Textboxen hast, kannst du jede Textbox einzeln leeren. Hier ist ein Beispiel:

Sub clearTextboxes()
    UserForm1.TextBox1.Value = ""
    UserForm1.TextBox2.Value = ""
    ' Füge weitere Textboxen hier hinzu
End Sub

Diese Methode ist nicht so effizient wie die vorherige, eignet sich jedoch für kleinere UserForms mit wenigen Textboxen.


Praktische Beispiele

Hier sind einige Beispiele, wie du die Textboxen in deiner UserForm zurücksetzen kannst:

  1. Alle Textboxen leeren:
Sub resetUserform()
    Dim CB As Control
    For Each CB In UserForm1.Controls
        If TypeOf CB Is MSForms.TextBox Then CB.Value = ""
    Next
End Sub
  1. Bestimmte Textbox leeren:
Sub clearSpecificTextbox()
    UserForm1.TextBox1.Value = ""
End Sub

Tipps für Profis

  • Namenskonventionen: Halte dich an eine konsistente Namensgebung für deine Textboxen, um das Leeren der UserForm zu erleichtern.
  • Event-Handling: Du kannst den Reset der UserForm automatisch auslösen, wenn die UserForm geschlossen wird, indem du den Code im UserForm_QueryClose-Ereignis platzierst.
  • Benutzerfreundlichkeit: Füge einen Reset-Button hinzu, der den Code zum Leeren der Textboxen aufruft, um die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich eine UserForm zurücksetzen? Du kannst den resetUserform-Code verwenden, um alle Steuerelemente in deiner UserForm auf ihre Standardwerte zurückzusetzen.

2. Gibt es eine Möglichkeit, Textboxen bei der Initialisierung der UserForm zu leeren? Ja, du kannst den Code zum Leeren der Textboxen im UserForm_Initialize-Ereignis platzieren, um sie beim Öffnen der UserForm automatisch zu leeren.

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