Liebe Forumsmitglieder
zuallererst folgendes: ich bin ein ziemlicher newby in VBA, obwohl ich schon einiges programmiert habe. Konnte mir immer irgendwie mit Forenbeiträgen gut helfen, nun stehe ich aber wirklich an (trotz langer Suche).
Es geht um folgendes: man muss im UF das Datum eingeben in die Textbox mit Namen "datumabrechnung". Damit es einfacher geht, habe ich zusätzlich zwei Optionsfelder für das heutige und gestrige Datum eingefügt ("optionheute" und "optiongestern"). Die Optionsfelder werden - falls aktiviert - bei der Eingabe in die Textbox abgeschaltet. Nun möchte ich abfragen, ob das Datum richtig eingegeben wurde, soweit so einfach.
Mit diesem Code frage ich die Richtigkeit ab:
If optiongestern.Value = False And optionheute.Value = False Then
If Trim(datumabrechnung) = "" Then
MsgBox ("Sie müssen ein Datum eingeben!")
Exit Sub
ElseIf isdate(datumabrechnung.Value) = False Then
MsgBox ("Sie haben ein falsches Datum eingegeben!")
Exit Sub
End If
End If
Funktioniert hervorragend z.B. für 99.99.99.Wenn man aber z.B. eingibt "31.2.19" wandelt Excel das Datum automatisch um in den 19.02.1931. Ich dachte, durch Ändern in
If optiongestern.Value = False And optionheute.Value = False Then
datumabrechnung.Text = Format$(datumabrechnung.Text, "dd.mm.yyyy")
If Trim(datumabrechnung) = "" Then
MsgBox ("Sie müssen ein Datum eingeben!")
Exit Sub
ElseIf isdate(datumabrechnung.Value) = False Then
MsgBox ("Sie haben ein falsches Datum eingegeben!")
Exit Sub
End If
End If
könne ich das Datum zuerst in ein falsches umwandeln, welches dann richtigerweise als falsch herausgegeben wird, könne ich das Problem lösen, was jedoch nicht funktioniert.
Was mache ich falsch?!?!
jetzt schon mal 1000 Dank für die Hilfe...!!
|