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

Forumthread: TextBox Abfrage

TextBox Abfrage
Frank
Hallo Zusammen!!! Einen schönen Sonntag euch Allen!!!
Folgenden Code verwende ich:
Private Sub TextBox21_Enter()
TextBox21 = ""
End Sub
Nun möchte ich aber erst abfragen, ob denn eine Eingabe in das Textfeld überhaupt erforderlich ist, wenn ich dann auf ja klicke, soll die TextBox leer werden, wenn nein, dann soll wieder der Ausgangswert im Textfeld stehen. Denn das Textfeld befindet sich auf einer UF und wird bereits beim Öffnen der UF gefüllt!!!
Ich hoffe ihr konntet mich verstehen und wisst wie ich meinen Code ergänzen muss!!!
Danke und Gruß Frank H.!!!
Anzeige

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

Betreff
Benutzer
Anzeige
AW: TextBox Abfrage
20.06.2010 12:44:20
Tino
Hallo,
so habe ich es verstanden.
Beispiel:
Private Sub TextBox21_Change()
If TextBox21  "" Then
If MsgBox("Soll der Inhalt der Textbox gelöscht werden?", _
vbQuestion + vbYesNo, "Inhalt löschen?") = vbYes Then
TextBox21 = ""
End If
End If
End Sub
Private Sub UserForm_Initialize()
TextBox21 = "Hallo"
End Sub
Gruß Tino
Anzeige
oder eben mit Deiner 'TextBox21_Enter' oT.
20.06.2010 12:46:18
Tino
AW: oder eben mit Deiner 'TextBox21_Enter' oT.
20.06.2010 13:11:39
Frank
Hallo Tino!!!
Du hast mich richtig verstanden!!! Es funzt wie ich es gewollt habe und dafür gebührt dir mein allerherzlichster Dank!
Dir noch 'nen schönen Sonntag!
Gruß Frank H.!!!
;
Anzeige
Anzeige

Infobox / Tutorial

TextBox Abfrage in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei und gehe zu den Entwicklertools.

  2. Füge ein UserForm hinzu: Klicke auf "Einfügen" und wähle "UserForm".

  3. Füge eine TextBox hinzu: Wähle die TextBox aus der Toolbox und ziehe sie auf das UserForm.

  4. Öffne den VBA-Editor: Klicke mit der rechten Maustaste auf die UserForm und wähle „Code anzeigen“.

  5. Füge den folgenden Code ein:

    Private Sub TextBox21_Enter()
       If TextBox21.Text <> "" Then
           If MsgBox("Soll der Inhalt der Textbox gelöscht werden?", vbQuestion + vbYesNo, "Inhalt löschen?") = vbYes Then
               TextBox21.Text = ""
           End If
       End If
    End Sub
    
    Private Sub UserForm_Initialize()
       TextBox21.Text = "Hallo"
    End Sub
  6. Speichere und schließe den VBA-Editor.

  7. Teste das UserForm: Klicke auf das Textfeld und wähle „Ja“ oder „Nein“, um die Funktionalität zu überprüfen.


Häufige Fehler und Lösungen

  • Fehler: „Typkonflikt in Zeile X“
    Lösung: Stelle sicher, dass die TextBox nicht leer ist, bevor du darauf zugreifst.

  • Fehler: „Das UserForm wird nicht angezeigt“
    Lösung: Überprüfe, ob das UserForm korrekt initialisiert wurde.

  • Problem: TextBox bleibt leer, auch wenn „Nein“ gewählt wird.
    Lösung: Stelle sicher, dass die Bedingung für MsgBox korrekt implementiert ist und die TextBox bei „Nein“ nicht geleert wird.


Alternative Methoden

Eine andere Möglichkeit, die Funktionalität einer Excel VBA TextBox zu implementieren, ist die Verwendung von TextBox.Change(), um den Inhalt beim Ändern zu überprüfen. Hier ein Beispiel:

Private Sub TextBox21_Change()
    If TextBox21.Text <> "" Then
        If MsgBox("Möchten Sie den Inhalt der TextBox löschen?", vbQuestion + vbYesNo, "Inhalt löschen?") = vbYes Then
            TextBox21.Text = ""
        End If
    End If
End Sub

Praktische Beispiele

Hier sind einige Szenarien, in denen die TextBox in Excel VBA hilfreich sein kann:

  1. Eingabevalidierung: Verwende die TextBox, um Benutzereingaben zu validieren, bevor sie in eine Datenbank eingegeben werden.
  2. Datenbereinigung: Leere die TextBox nur, wenn der Benutzer dies ausdrücklich wünscht, um versehentliche Datenverluste zu verhindern.

Tipps für Profis

  • Verwende Trim: Um sicherzustellen, dass keine Leerzeichen die Eingabe stören, kannst du Trim(TextBox21.Text) verwenden.
  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler während der Ausführung zu vermeiden.
  • Benutzerfreundliche Meldungen: Gestalte die MsgBox-Nachrichten informativ, um dem Benutzer klare Entscheidungen zu ermöglichen.

FAQ: Häufige Fragen

1. Wie kann ich die TextBox standardmäßig mit einem Wert initialisieren?
Du kannst dies im UserForm_Initialize-Ereignis tun, indem du TextBox21.Text = "Dein Wert" setzt.

2. Kann ich mehrere TextBoxen mit derselben Logik verwenden?
Ja, du kannst die Logik für jede TextBox wiederverwenden, indem du den entsprechenden Code in die jeweiligen Enter- oder Change-Ereignisse einfügst.

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