VBA Datum englisch vs. deutsch
25.10.2024 12:06:53
namron28
ich habe ein Problem, welches sich auf nun zwei meiner Projekte auswirkt, was mir erst heute bewusst wird. Ich habe eine UserForm, in der in ein Textfeld habe, in dem ich ein Datum eingeben muss. Die Eingabe soll nach deutscher Form DD.MM.JJJJ erfolgen. Im Code wird per "IsDate(datum)" geprüft, ob es sich um ein valides Datum handelt. Soweit so gut.
Jetzt wollte ich in meinem neuen Projekt Edgecases probieren und schauen, ob er in die geplante Fehlermeldung reingeht, wenn ich als Datum 01.13.2024 eingebe. Mit Erschrecken musste ich feststellen, dass nicht die entsprechende Fehlermeldung ausgegeben wird á la "Ungültiges Datum", sondern mit dem Hauptcode fortgefahren wird und zwar mit dem Datum 13.01.2024.
Wie kann ich sichergehen, dass der Input stets als deutsche Schreibweise gehandhabt wird? Ich spielte schon mit dem Gedanken, mir das Datum zerpflücken zu lassen und per DateSerial es wieder zusammensetzen, aber das Ergebnis ist dann der 10.01.2025, was ja auch inkorrekt ist. Ich konnte die Eingabe der Tage und Monate auf maximalen Wert ermitteln und wenn dieser über 28/29/30 oder 31 liegt eine Fehlermeldung ausgeben, aber dann müsste ich noch berechnen, ob ein Schaltjahr für das betrachtete Jahr vorliegt.
Wie kann ich sichergehen, dass der Input stets als deutsche Schreibweise gehandhabt wird?
Mit besten Dank im Voraus
Norman
Anzeige