Gültiges Datum (ohne Punkteingabe)
Jürgen
nochmal das beliebte Thema Datumseingabe ohne Punkt.
Mit folgendem Code versuche ich eine Datumseingabe in einer Zelle:
Private Sub Worksheet_Change(ByVal Target As Range) Dim Bereich As Range Dim Datum As String Set Bereich = Range("C8") If Not Intersect(Target, Bereich) Is Nothing Then ' Zelle ist im Bereich Application.EnableEvents = False If Len(Target) = 6 Then Datum = Left(Target, 2) & "." & Mid(Target, 3, 2) & "." & Right(Target, 2) Sheets("Eingabedaten").Range("B3") = Datum 'nur zum Testen Datum = Format(Datum, "dd.mm.yyyy") Sheets("Eingabedaten").Range("D3") = Datum 'nur zum Testen If IsDate(Datum) Then Target = Format(Datum, "dd.mm.yyyy") Else Target = Empty Target.Activate End If End If Application.EnableEvents = True End If End Sub
------------------
Das läuft auch wie vorgesehen, wenn sinnvolle Eingaben wie 180404 gemacht werden. Wird jedoch ein ungültiges Datum wie 290203 eingegeben, versagt der Code, es wird gnadenlos ein anderes (über Format) erzeugt. Sieht jemand eine Möglichkeit, die Gültigkeit des eingegebenen Datums vor der Umwandlung mit Format zu erkennen, ohne dass ich ellenlangen eigenen Plausi-Code erstellen muss?
Jürgen