Datumsangabe in Excel

BastiMasters

Cadet 4th Year
Registriert
Apr. 2012
Beiträge
95
Hallo zusammen,

mein Problem ist wie folgt. Ich habe eine Tabelle in der ich das Datum eingeben lassen will. Am anwender-freundichsten habe ich da eine Inputbox gehalten und es funktioniert auch soweit ohne Probleme. Wenn ich das Datum als "24.1.15" angebe, funktioniert alles einwandfrei. Da ich sicher weiß, dass es nie ein anderes Jahr als 2015 sein wird, wäre es jedoch schön, wenn man einfach "24.1" schreiben könnte. Funktioniert zwar, allerdings macht Excel mir dann in der Zelle 24.01.1900 daraus. Mein Code ist bis jetzt dieser:



Dim Dat As Variant
Dim Antwort

Sprungziel:

Dat = InputBox("Geben Sie bitte das Datum ein.", "Datum", "Hier Eintragen")

If Dat = "" Then
Exit Sub
End If

If Not IsDate(Dat) Then

Antwort = MsgBox("Leider kein Gültiges Datum! Wollen Sie ein neues angeben?", 4, "Kein Gültiges Datum!")
If Antwort = vbYes Then
GoTo Sprungziel
Else
End If

Else

Range("h2").Value = Dat
End If



Die Frage ist nun, wie kann ich den Code oder was auch immer ändern, so dass ich 2015 stehen hab anstatt 1900. Ich hoffe ihr könnt mir vielleicht helfen :)

Gruß Basti
 
Lass doch das Datum als Textformat anstatt als Datumsformat eingeben und gib dabei 2015 einfach vor !
 
Warum prüfst du nicht einfach, ob das Datum nach dem 1.1.15, also größer 42005 ist?
 
Ist schon ein paar Tage her, aber was spricht gegen eine Eingabe in einer normalen Zelle + Datenüberprüfung mit Gültigkeitskriterium "Datum"? Dann funktioniert auch 24.1 und du bist das Makro los.
 
Moin,

ich denke, dass dieser Code es bringt:

Code:
Sub BequemesDatum()
   Dim Dat As Variant
   Dim Antwort
   
   Do
      Dat = InputBox("Geben Sie bitte das Datum ein.", "Datum", "Hier Eintragen")
      If Dat = "" Then
         Exit Sub
      End If
      
      Dat = CDate(Dat)
      If Not IsDate(Dat) Then
         Antwort = MsgBox("Leider kein Gültiges Datum! Wollen Sie ein neues angeben?", _
       4, "Kein Gültiges Datum!")
      If Antwort = vbNo Then Exit Sub
      Else
         Range("h2").Value = Dat
         Exit Do
      End If
   Loop
End Sub

Da kann man auch statt des Punktes ein "-" oder "/" von der Zehnertastatur eingeben.
 
Zurück
Oben