07.06.2017, 17:22
Hallo Zusammen,
der folgende Code soll überprüfen ob in der Textbox ein Datum eingetragen wurde. Ist dies nicht der Fall, soll der Wert der Textbox 0 Annahmen und eine MsgBox erscheinen.
Wenn ich jedoch ein nicht existierendes Datum wie z.B. den 30.02.2017 eingebe erhalte ich einen Fehler. Diesen wollte ich mit "On Error Goto" aushebeln.
Jetzt springt er jedoch immer zur Fehlerbehebung, auch wenn das Datum korrekt eingetragen wurde.
Wie kann ich den Code verändern, sodass ich sowohl bei Buchstaben, einem falschen Datum, Zahlen, etc. als Eingabe keinen Fehler erhalte und die Prüfung trotzdem funktioniert?
Danke im Voraus!
Viele Grüße
Jonas
der folgende Code soll überprüfen ob in der Textbox ein Datum eingetragen wurde. Ist dies nicht der Fall, soll der Wert der Textbox 0 Annahmen und eine MsgBox erscheinen.
Wenn ich jedoch ein nicht existierendes Datum wie z.B. den 30.02.2017 eingebe erhalte ich einen Fehler. Diesen wollte ich mit "On Error Goto" aushebeln.
Jetzt springt er jedoch immer zur Fehlerbehebung, auch wenn das Datum korrekt eingetragen wurde.
Code:
' Prüft ob der Eingegebene Wert ein Datum oder 0 ist.
Private Sub Textbox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo Eingabefehler
With Me.Textbox1
If Not IsNumeric(Textbox1.Value) Then Textbox1.Text = 0
If Not Textbox1.Value = Format(CDate(Textbox1.Value), "dd.mm.yyyy") And Not .Text = 0 Then
.Text = "0"
MsgBox "Gültiges Datum im Format dd.mm.yyyy eingeben"
Cancel = True
End If
End With
Eingabefehler:
Textbox1.Value = 0
MsgBox "Gültiges Datum im Format dd.mm.yyy eingeben"
End Sub
Wie kann ich den Code verändern, sodass ich sowohl bei Buchstaben, einem falschen Datum, Zahlen, etc. als Eingabe keinen Fehler erhalte und die Prüfung trotzdem funktioniert?
Danke im Voraus!
Viele Grüße
Jonas