TextBoxen prüfen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox MsgBox
Bild

Betrifft: TextBoxen prüfen
von: Juli
Geschrieben am: 23.09.2015 12:57:40

Hallo,
ich habe 30 Textboxen, in 20 von denen muss ein Datum eingetragen werden.
Ich möchte eine Schleife (oder was sonst noch möglich wäre), die mir diese 20 TextBoxen prüft ob da ein Datum eingegeben wurde.
Am Besten gleich beim Verlassen der TextBox:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox1
  If Not IsDate(.Text) Or _
    InStr(.Text, ":") Or _
    .TextLength <> 10 Then
    TextBox_PreCon.Value = ""
    MsgBox "Kein gültiges Datumsformat! Bitte Datum dd.mm.jjjj eingeben!", vbCritical, "Falsche  _
Eingabe"
    Cancel = True
  End If
End With
End Sub
Jedoch spinnt bei mir der Code rum, ich kann nichts in eine andere TextBox eingeben, wenn ich davor nicht alle diese TextBoxen gefüllt habe.
Wie setzte ich das dann um? Kann mir da jmd helfen?
Danke schonmal :)
VG Julia

Bild

Betrifft: AW: TextBoxen prüfen
von: Rudi Maintaire
Geschrieben am: 23.09.2015 13:05:57
Hallo,
du musst nur prüfen, ob der Inhalt in ein Datum umgewandelt werden kann oder ob sie leer ist.

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox1
if len(.text) then
  If Not IsDate(.Text) Then
    TextBox_PreCon.Value = ""
    MsgBox "Kein gültiges Datumsformat! Bitte Datum dd.mm.jjjj eingeben!", vbCritical, "Falsche  _
 _
Eingabe"
    Cancel = True
  End If
end if
End With
End Sub
Mögliche Eingaben z.B. 22-9-15; 22/9/15; 22.9.15
Gruß
Rudi

Bild

Betrifft: AW: TextBoxen prüfen
von: Juli
Geschrieben am: 23.09.2015 14:41:19
Funktioniert!!!
Vieeeeelen Dank :)
VG Julia

Bild

Betrifft: AW: TextBoxen prüfen
von: Juli
Geschrieben am: 23.09.2015 14:42:57
Kurze Frage noch:
Ich hab meherer TextBoxen bei denen dies überprüft werden soll.
Wie realisiere ich das, ohne 20 mal den gleichen Code zu schreiben?

Bild

Betrifft: AW: TextBoxen prüfen
von: Rudi Maintaire
Geschrieben am: 23.09.2015 15:26:07
Hallo,
in der Form:

Option Explicit
Dim bCancel As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  checkTxtBx TextBox1
  Cancel = bCancel
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  checkTxtBx TextBox2
  Cancel = bCancel
End Sub
Private Sub checkTxtBx(objTxtBx As Object)
  bCancel = False
  With objTxtBx
    If Len(.Text) Then
      If Not IsDate(.Text) Then
    '    TextBox_PreCon.Value = ""
        MsgBox "Kein gültiges Datumsformat!" _
        & "Bitte Datum dd.mm.jjjj eingeben!", _
        vbCritical, "Falsche Eingabe "
        bCancel = True
      End If
    End If
  End With
End Sub

Gruß
Rudi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "TextBoxen prüfen"