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

Forumthread: Wenn TextBox leer > MsgBox

Wenn TextBox leer > MsgBox
Heinz
Guten morgen,im Forum
Ich habe eine UF,dort möchte gerne wenn die TextBox2 =""
daß dann die MsgBox erscheint,und der Code abgebrochen wird.
Könnte mir dazu bitte jemand helfen ?
Gruß
Heinz
Sub LOT()
Sheets("Sortierrapport").Unprotect
Dim LoLetzte As Long
Dim Lox, LOT As Long
'If TextBox2.Value = "" Then MsgBox "Leer"
LoLetzte = Cells(Rows.Count, 4).End(xlUp).Row
Application.ScreenUpdating = False
For Lox = 1 To Cells(2, "O")
Cells(LoLetzte + 1, 4) = Lox
Cells(LoLetzte + 1, 3) = Cells(2, "P")
LoLetzte = Cells(Rows.Count, 4).End(xlUp).Row
Next
Sheets("Sortierrapport").Protect
Cells(2, "P") = Cells(2, "P") ' + 1
ActiveSheet.Shapes("Neu").Visible = True
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wenn TextBox leer > MsgBox
24.06.2012 09:05:42
Josef

Hallo Heinz,
so?
Sub LOT()
  Dim LoLetzte As Long
  Dim Lox As Long, LOT As Long
  
  On Error GoTo ErrExit
  If Len(TextBox2) Then
    Application.ScreenUpdating = False
    With Sheets("Sortierrapport")
      .Unprotect
      LoLetzte = .Cells(.Rows.Count, 4).End(xlUp).Row
      For Lox = 1 To .Cells(2, "O")
        .Cells(LoLetzte + 1, 4) = Lox
        .Cells(LoLetzte + 1, 3) = Cells(2, "P")
        LoLetzte = .Cells(Rows.Count, 4).End(xlUp).Row
      Next
      .Protect
      .Cells(2, "P") = .Cells(2, "P") ' + 1
      .Shapes("Neu").Visible = True
    End With
  Else
    MsgBox "Leer"
  End If
  
  ErrExit:
  Application.ScreenUpdating = True
End Sub




« Gruß Sepp »

Anzeige
AW: Wenn TextBox leer > MsgBox
24.06.2012 09:22:28
Heinz
Guten morgen Josef
Hier bekomme ich die Fehlermeldung bei TextBox2 "Variable nicht definiert".
Wahrscheinlich liegt es daran das die TexTbox2 in der UF "UserLOT" liegt.
Gruß
Heinz
AW: Wenn TextBox leer > MsgBox
24.06.2012 09:31:56
{Boris}
Hi Heinz,
entweder sprichst Du die Textbox mit
UserLOT.TextBox2
an, oder Du übergibst den Inhalt der TextBox beim Aufruf der Sub LOT, oder vor dem Aufruf der Sub LOT prüfst Du den Inhalt der Textbox (wahrscheinlich geschieht der Aufruf ja irgendwie mittels CommandButton auf dem UserForm).
VG, Boris
Anzeige
AW: Sorry für meinen Fehler
24.06.2012 09:59:19
Heinz
Hallo Josef & Boris
Das war mein Fehler, Entschuldigung.
Jetzt bin ich in der UF "UserLOT"
Komme aber nicht ganz klar damit.
Könntet ihr mir bitte nochmals weiterhelfen?
Gruß
Heinz
Private Sub CommandButton1_Click()
ActiveSheet.Unprotect ' Password:="vetro"
With Worksheets("Sortierrapport")  ' den Tabellenblattnamen ggf. anpassen !!!
.Range("P2").Value = Format(TextBox2, "000") '.Value 'LOTbeginn
End With
If TextBox2 Then 'Exit Sub
MsgBox "Leer"
Exit Sub
End If
Unload Me
Call Heinz2
End Sub

Anzeige
AW: Sorry für meinen Fehler
24.06.2012 10:02:08
{Boris}
Hi Heinz,
frag doch zu allererst die Textbox ab:
Private Sub CommandButton1_Click()
If TextBox2 = "" Then MsgBox "Leer": Exit Sub
ActiveSheet.Unprotect ' Password:="vetro"
...usw
End Sub
VG, Boris
Danke Boris & Josef
24.06.2012 11:11:24
Heinz
Danke euch beiden.
So funktioniert es.
Private Sub CommandButton1_Click()
If TextBox2 = "" Then MsgBox "Leer": Exit Sub
ActiveSheet.Unprotect ' Password:="vetro"
With Worksheets("Sortierrapport")  ' den Tabellenblattnamen ggf. anpassen !!!
.Range("P2").Value = Format(TextBox2, "000") '.Value 'LOTbeginn
End With
Unload Me
Call Heinz2
End Sub

Gruß
Heinz
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

MsgBox anzeigen, wenn TextBox leer ist in VBA


Schritt-für-Schritt-Anleitung

Um eine MsgBox anzuzeigen, wenn eine TextBox leer ist, kannst du den folgenden VBA-Code verwenden. Dieser Code wird typischerweise in einem CommandButton-Ereignis platziert. Stelle sicher, dass du die richtige Benutzerform (UserForm) verwendest, z.B. UserLOT.

Private Sub CommandButton1_Click()
    If TextBox2.Value = "" Then
        MsgBox "Leer"
        Exit Sub
    End If
    ' Weitere Aktionen hier
End Sub
  1. Öffne den VBA-Editor (ALT + F11).
  2. Wähle die entsprechende UserForm (z.B. UserLOT).
  3. Füge den obigen Code in das Click-Ereignis eines CommandButtons ein.
  4. Teste die Funktionalität, indem du die TextBox leer lässt und den Button klickst.

Häufige Fehler und Lösungen

  • Fehlermeldung: "Variable nicht definiert"

    • Stelle sicher, dass du die TextBox korrekt referenzierst, z.B. UserLOT.TextBox2, wenn du dich im Modul eines anderen Objekts befindest.
  • MsgBox erscheint nicht

    • Überprüfe, ob der Code im richtigen Ereignis platziert ist (z.B. im Click-Ereignis des CommandButtons).
  • Unzureichende Sichtbarkeit der UserForm

    • Stelle sicher, dass die UserForm vor dem Ausführen des Codes sichtbar ist.

Alternative Methoden

Du kannst auch die Len-Funktion verwenden, um zu überprüfen, ob die TextBox leer ist. Hier ist ein Beispiel:

Private Sub CommandButton1_Click()
    If Len(TextBox2.Value) = 0 Then
        MsgBox "Leer"
        Exit Sub
    End If
    ' Weitere Aktionen hier
End Sub

Diese Methode prüft ebenfalls, ob die TextBox leer ist, und kann in vielen Szenarien nützlich sein.


Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie du den Inhalt der TextBox formatieren und in eine Zelle schreiben kannst, nachdem die Leerprüfung erfolgt ist:

Private Sub CommandButton1_Click()
    If TextBox2.Value = "" Then
        MsgBox "Leer"
        Exit Sub
    End If

    ActiveSheet.Unprotect ' Passwort:="deinPasswort"
    With Worksheets("Sortierrapport")
        .Range("P2").Value = Format(TextBox2.Value, "000")
    End With
    Unload Me
End Sub

In diesem Beispiel wird der Wert der TextBox formatiert und in die Zelle P2 geschrieben, nachdem die Leerprüfung erfolgreich war.


Tipps für Profis

  • Verwende die .Trim-Methode, um sicherzustellen, dass keine führenden oder nachfolgenden Leerzeichen in der TextBox vorhanden sind:
If Trim(TextBox2.Value) = "" Then
    MsgBox "Leer"
    Exit Sub
End If
  • Überlege, ob du die Benutzerfreundlichkeit erhöhen kannst, indem du sofortige Rückmeldungen gibst, wenn der Benutzer die TextBox verlässt (z.B. im Exit-Ereignis).

FAQ: Häufige Fragen

1. Wie kann ich die MsgBox anpassen? Du kannst den Text und die Schaltflächen der MsgBox anpassen, indem du zusätzliche Parameter hinzufügst:

MsgBox "Die TextBox ist leer!", vbExclamation, "Fehler"

2. Was kann ich tun, wenn ich mehrere TextBoxen prüfen möchte? Du kannst eine Schleife verwenden, um mehrere TextBoxen zu überprüfen, oder jede TextBox einzeln abfragen, bevor du fortfährst.

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