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

YesNo - Überprüfen, ob TextBox leer

Forumthread: YesNo - Überprüfen, ob TextBox leer

YesNo - Überprüfen, ob TextBox leer
Wolfgang
Hallo,
vor Verlassen eines bestimmten UF möchte ich erreichen, dass überprüft wird, ob die TextBox7 gefüllt ist, oder nicht. Wenn nein, so hatte ich mir gedacht, sollte MsgBox erscheinen und abfragen, ob UF dennoch verlassen werden soll oder nicht. Bei Ja - UF verlassen, bei Nein bleibt UF noch stehen. Ist die Textbox7 gefüllt, soll UFCalendar ohne jegliche Nachfrage verlassen werden. Was mache ich im nachfolgenden Code falsch, um das Ziel zu erreichen? - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
Private Sub cmdClose_Click()
If Eingabemaske.TextBox7 = "*" Then
Unload ufCalendar
Else
If Eingabemaske.TextBox7 = "" Then
If MsgBox("Es fehlen noch Eintragungen, wollen Sie die Eingabe dennoch beenden?", vbQuestion +  _
vbYesNo, "vom bis noch nicht vollständig!") = vbNo Then
Else
Unload ufCalendar
End
End If
End If
End If
End Sub

Anzeige

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

Betreff
Benutzer
Anzeige
AW: YesNo - Überprüfen, ob TextBox leer
25.04.2011 11:51:47
Hajo_Zi
Hallo Wolfgang,
Option Explicit
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If TextBox1 = "" Then
If MsgBox("Wollen Sie den Auftrag wirklich löschen.", vbYesNo + vbQuestion, "Lö _
schabfrage ?") = vbNo Then
Cancel = True
End If
End If
End Sub

Anzeige
AW: YesNo - Überprüfen, ob TextBox leer
25.04.2011 11:53:51
Gerd
Hallo Wolfgang,
beim Sternchen müsstest Du den Like - Operator nehmen.
Private Sub cmdClose_Click()
If Len(Eingabemaske.TextBox7.Text) = 0 Then
If MsgBox("Es fehlen noch Eintragungen, wollen Sie die Eingabe dennoch beenden?", vbQuestion +  _
_
vbYesNo, "vom bis noch nicht vollständig!") = vbYes Then Exit Sub
End If
End If
Unload ufCalendar
End Sub
Gruß Gerd
Anzeige
Danke Hajo und Gerd
25.04.2011 12:47:06
Wolfgang
Hallo Hajo und Gerd,
Danke euch beiden für die schnellen Rückantworten. Ich habe beide Codes einsetzen und verwenden können. Herzlichen Dank dafür.
Gruß und noch schöne "Rest"-Ostern
Wolfgang
;
Anzeige
Anzeige

Infobox / Tutorial

TextBox in VBA überprüfen: Ja oder Nein?


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob eine TextBox in einem UserForm leer ist und eine entsprechende Meldung anzuzeigen, kannst Du folgenden VBA-Code verwenden. Dieser Code wird beim Schließen des UserForms ausgeführt:

Private Sub cmdClose_Click()
    If Len(Eingabemaske.TextBox7.Text) = 0 Then
        If MsgBox("Es fehlen noch Eintragungen, wollen Sie die Eingabe dennoch beenden?", vbQuestion + vbYesNo, "vom bis noch nicht vollständig!") = vbNo Then
            Exit Sub
        End If
    End If
    Unload ufCalendar
End Sub

In diesem Beispiel wird überprüft, ob TextBox7 leer ist. Wenn das der Fall ist, zeigt eine MsgBox die Frage an. Bei Auswahl von "Nein" bleibt das UserForm geöffnet.


Häufige Fehler und Lösungen

  1. Fehlerhafte Bedingung für den Text: Stelle sicher, dass Du die Länge des Textes mit Len() überprüfst. Der Vergleich mit TextBox7 = "*" funktioniert hier nicht wie erwartet.

  2. Falsche Verwendung der MsgBox: Achte darauf, dass die MsgBox richtig konfiguriert ist. Die Parameter müssen korrekt angegeben werden, um die Rückgabe richtig zu verarbeiten.


Alternative Methoden

Eine alternative Methode zur Überprüfung, ob die TextBox gefüllt ist, ist die Verwendung des UserForm_QueryClose-Ereignisses:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If TextBox7 = "" Then
        If MsgBox("Wollen Sie das UserForm wirklich schließen?", vbYesNo + vbQuestion, "Bestätigung") = vbNo Then
            Cancel = True
        End If
    End If
End Sub

Diese Methode ermöglicht es, das Schließen des UserForms zu verhindern, wenn die TextBox leer ist.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die Überprüfung umsetzen kannst:

  • Beispiel 1: Überprüfen einer anderen TextBox, z.B. TextBox1:
If Len(Eingabemaske.TextBox1.Text) = 0 Then
    MsgBox "Bitte füllen Sie das Feld aus."
End If
  • Beispiel 2: Komplexere Überprüfung mit mehreren TextBoxen:
If Len(Eingabemaske.TextBox1.Text) = 0 Or Len(Eingabemaske.TextBox2.Text) = 0 Then
    MsgBox "Alle Felder müssen ausgefüllt sein."
End If

Tipps für Profis

  • Verwende die Like-Operatoren für komplexere Vergleiche, z.B. um zu überprüfen, ob ein bestimmter Textmuster vorhanden ist.

  • Nutze benutzerdefinierte Funktionen, um die Logik der Überprüfung zu kapseln und wiederverwendbar zu machen.

  • Halte die MsgBox-Texte klar und präzise, um die Benutzerfreundlichkeit zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere TextBoxen gleichzeitig überprüfen?
Du kannst die Bedingungen mit Or kombinieren, um zu überprüfen, ob eine der TextBoxen leer ist.

2. Was passiert, wenn ich Unload vor der MsgBox aufrufe?
Die MsgBox wird nicht angezeigt, da das UserForm bereits geschlossen wurde. Achte darauf, die Reihenfolge der Befehle korrekt zu setzen.

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