Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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

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

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


Gehe zu:


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