PDA

Vollständige Version anzeigen : Prüfen ob Datum im richtigen Format


Chris2610
24.03.2009, 12:47
Hallo,

es gibt ja die IsDate-Prüfung, die prüft, ob es sich bei einer Eingabe um ein Datum handelt.
Das Problem ist, dass in dem Feld ein Datum in dem Format stehen muss: "dd.mm.yyyy".
Dies will ich prüfen, aber mit der IsDate()-Prüfung komme ich da nicht weiter, da eine Uhrzeit, z.B. 10:23 auch eine positive IsDate-Prüfung ergibt. Gibt es da eine andere Möglichkeit?

chris-kaiser
24.03.2009, 13:21
hiho

anbei eine demo


Function checkdate(rng As Range) As Boolean
checkdate = rng.NumberFormat Like "*d*m*yyyy*" Or rng.NumberFormat Like "*m*d*yyyy*"
End Function

Chris2610
24.03.2009, 14:27
Hallo Chris,

vielen Dank für die Antwort.

Das Datum, dass ich überprüfen will steht in einem Textfeld (tbDatum).

Wie kann ich das an die Funktion übergeben? Weil VBA da scheinbar ein Problem mit hat, wenn ich das so mache:

If checkdate(tbDatumVon.Value) = True Then

Die Funktion sieht so aus:

Function checkdate(rng As Range)
If rng.NumberFormat Like "*d*m*yyyy*" Or rng.NumberFormat Like "*m*d*yyyy*" Then
checkdate = True
Else
checkdate = False
End If
End Function

chris-kaiser
24.03.2009, 14:42
hi

ist dieses Textfeld im Tabellenblatt aus Steuerelemente oder Formular

oder ist das Textfeld auf einer Userform?

Chris2610
24.03.2009, 14:49
Das Textfeld ist in einem UserForm.

chris-kaiser
24.03.2009, 15:01
hiho

hier mal 2 Varianten
;)

ich lasse eigentlich selten zu das jemand "händisch" was eintragen muß
in der ersten Textbox kann per dplklick (oder die Schaltfläche daneben) ein Kalender angezeigt werden, händische eingabe ist nicht erlaubt
den Kalender habe ich mal aus einem Post
http://www.ms-office-forum.net/forum/showthread.php?t=208059
genommen

in der 2.ten Textbox frage ich über eine Funktion die Eingabe ab

Chris2610
25.03.2009, 05:23
Guten Morgen Chris,

WOW, der Kalender ist ja echt spitze. Perfekt, das ist genau das, was ich wollte. Eine Frage habe ich noch: Der Kalender wird aus einem Formular aufgerufen, wenn ich im Kalender auf Abbrechen gehe, schließt sich nicht nur der Kalender, sondern auch mein Formular :-/ Wie kann man das verhinndern?

Chris2610
25.03.2009, 06:07
Ich hätte da auch noch eine kleine Frage: Ähnlich wie das Datum muss der Benutzer auch eine Uhrzeit eingeben. Gibt es dafür auch irgendwie so einen Auswahl-Dialog (ähnlich zu dem Kalender) ? Das wäre nämlich der Hammer :)

Chris2610
25.03.2009, 12:43
P.S.: Das Schließen-Problem habe ich jetzt über einen kleinen Umweg gelöst... Ich Hide das Kalender-Form, und schließe es, sobald das aufrufende Form wieder aktiviert wird. Das klappt :-)
Hänge nur noch an der Uhrzeit :-/

chris-kaiser
25.03.2009, 15:08
Hi

auf der Schaltfläche Abbrechen ist nur ein unload me
warum dann deine From geschlossen wird ist mir ein Rätsel.
aber das hast Du ja schon gelöst.

im Link den ich Dir geschickt habe müsste auch ein Timepicker enthalten sein (die Standardvariante)
mit den auch im Post beschriebenen Nachteilen.

leider kann ich Dir keine Allroundlösung für Time anbieten.......

Chris2610
25.03.2009, 15:21
Hi Chris,
genau deshalb hatte mich das mit dem Schließen auch ziemlich verwirrt. Da ich das "Unload Me" in einem anderen Projekt fehlerfrei verwenden kann... Naja, egal :-/

Achso, das habe ich gar nicht gesehen, dann werde ich nochmal in dem Link schauen. Trotzdem nochmal vielen Dank für die bisherige Hilfe!