VBA: "On Error Goto" springt immer an
#1
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.

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
Top
#2
Hallo Namensvetter,

der Klassiker ;)
Ohne, dass ich jetzt deinen Beitrag gelesen habe.

Setzte über "Eingabefehler:" ein "Exit Sub"
[-] Folgende(r) 1 Nutzer sagt Danke an Jonas0806 für diesen Beitrag:
  • JonasW
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste