Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Plausibilistätsprüfung bei Datum&Zeit-Eingaben in UserForm-TextBox

Gruppe

TextBox

Problem

Wie kann ich prüfen, ob Datum&Zeit-Eingaben in eine UerForm-TextBox fon der Syntax her korrekt sind?

Lösung
Geben Sie den nachfolgenden Code in das Klassenmodul der UserForm ein.

ClassModule: frmDatumZeit

Private Sub cmdWeiter_Click()
   Unload Me
End Sub

Private Sub TextBox1_BeforeUpdate( _
   ByVal Cancel As MSForms.ReturnBoolean)
   If Len(TextBox1.Text) < 16 Then Cancel = True
End Sub

Private Sub TextBox1_Change()
   If Len(TextBox1.Text) = 16 Then
      If IsDate(TextBox1.Text) = False Then
         MsgBox "Keine gültige Eingabe!"
      Else
         MsgBox "Datum: " & Left(TextBox1.Text, 10) & _
            vbLf & "Zeit: " & _
            Right(TextBox1.Text, 5)
      End If
   End If
End Sub

Private Sub TextBox1_KeyPress( _
   ByVal KeyAscii As MSForms.ReturnInteger)
   If Chr(KeyAscii) Like "[0-9.: ]" = False Then
      KeyAscii = 0
   End If
End Sub

StandardModule: basMain

Sub CallForm()
   frmDatumZeit.Show
End Sub