Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Bei UserForm-TextBox-Eingaben Formate erzwingen

Gruppe

TextBox

Problem

Bei UserForm-TextBoxes sollen Datumsbzw. Uhrzeitangaben in einem bestimmten Format erzwungen werden.

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

ClassModule: frmDateTime

Private Sub cmdCancel_Click()
   Unload Me
End Sub

Private Sub cmdMessage_Click()
   MsgBox "Datum: " & Format(CDate(txtDate.Text), "dd.mm.yy") & vbLf & vbLf & _
      "Zeit: " & Format(CDate(txtTime.Text), "hh:mm")
End Sub

Private Sub txtDate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   With txtDate
      If Not IsDate(.Text) Or _
         InStr(.Text, ":") Or _
         .TextLength <> 8 Then
         Cancel = True
         Beep
         .SetFocus
         .SelStart = 0
         .SelLength = .TextLength
      End If
   End With
End Sub

Private Sub txtTime_Exit(ByVal Cancel As MSForms.ReturnBoolean)
   With txtTime
      If Not IsDate(.Text) Or _
         InStr(.Text, ":") = False Or _
         InStr(.Text, ".") Or _
         .TextLength <> 5 Then
         Cancel = True
         Beep
         .SetFocus
         .SelStart = 0
         .SelLength = .TextLength
      End If
   End With
End Sub

StandardModule: Modul1

Sub CallForm()
   frmDateTime.Show
End Sub