02.08.2015, 21:53
Nabend zusammen...
Mit dem Code im Userform
und mit diesem in einem Modul
bekomme ich eine Fehlermeldung, wenn kein richtiges Datum eingetragen wurde. Soweit ist es richtig. Wie müsste der Code nun aussehen, wenn die Prüfung nur erfolgen soll, wenn tatsächlich auch irgendwas im Textfeld steht. Sprich wenn es leer ist, soll es keine Prüfung geben. Und wie könnte die Datumsprüfung aussehen, wenn bei einer Eingabe nur ein Datum zugelassen wird, was im aktuellen Monat liegt.
Danke für Eure Hilfe!
Grüße
Mit dem Code im Userform
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If DatumGetestet(TextBox1.Value) = False Then
Cancel = True
MsgBox "Bitte richtiges Datum eingeben"
Application.EnableEvents = False
TextBox1.SetFocus
Application.EnableEvents = True
Else
TextBox1 = Format(DatumGetestet(TextBox1.Value), "dd/mm/yyyy")
End If
End Sub
und mit diesem in einem Modul
Code:
Public Function DatumGetestet(strDatum As String) As Variant
'Funktion erkennt A L L E
'fehlerhaften Datumsangaben
'Auch Überprüfung auf Monat 28, 30 oder 31 Tage
'(bei Februar auf Schaltjahre)
'nur Ziffern angaben zulässig (oder die Formate erweitern)
'Function gibt bei Fehler False (Boolean)
'und bei gültigem Datum das Datum (Date) zurück
DatumGetestet = False
If IsDate(strDatum) Then
Select Case Trim(strDatum)
Case Format(CDate(strDatum), "d/m/yy"), _
Format(CDate(strDatum), "d/m/yyyy"), _
Format(CDate(strDatum), "d/mm/yy"), _
Format(CDate(strDatum), "d/mm/yyyy"), _
Format(CDate(strDatum), "dd/m/yy"), _
Format(CDate(strDatum), "dd/m/yyyy"), _
Format(CDate(strDatum), "dd/mm/yy"), _
Format(CDate(strDatum), "dd/mm/yyyy")
DatumGetestet = CDate(strDatum)
End Select
End If
End Function
bekomme ich eine Fehlermeldung, wenn kein richtiges Datum eingetragen wurde. Soweit ist es richtig. Wie müsste der Code nun aussehen, wenn die Prüfung nur erfolgen soll, wenn tatsächlich auch irgendwas im Textfeld steht. Sprich wenn es leer ist, soll es keine Prüfung geben. Und wie könnte die Datumsprüfung aussehen, wenn bei einer Eingabe nur ein Datum zugelassen wird, was im aktuellen Monat liegt.
Danke für Eure Hilfe!
Grüße