Ich versuche, ein Datum in VBA zu erstellen. Als heutiges Datum soll 13.04.2018 angezeigt werden.
Allerdings kann ich es derzeit nur als 13.4.2018 anzeigen lassen
Wie füge ich bei einstelligen Tagen und Monaten eine vorangestellte Null ein?
Ich muss derzeit:
stDateDay = Day(Date)
stDateMonth = Month(Date)
stDateYear = Year(Date)
stDateFull = stDateDay & "." & stDateMonth & "." & stDateYear
Antwort1
Um ein Datum (oder einen anderen Wert) in VBA zu formatieren, können Sie die Format
Funktion verwenden. Beispiel:
strDateFull = Format(Date, "dd.mm.yyyy")
Der zweite Parameter ist eine Formatzeichenfolge, die entweder ein vordefinierter Formatname ( General Date
, Long Date
, Medium Date
oder Short Date
) oder ein Formatbezeichner mit Symbolen wie dd
, mm
oder sein kann yy
.
Eine vollständige Liste der Symbole finden Sie in der Dokumentation:https://msdn.microsoft.com/en-us/VBA/language-reference-vba/articles/format-function-visual-basic-for-applications
Antwort2
Sie können einfach Folgendes versuchen:
Range("A1").Value = Format(StDateFull, "dd.mm.yyyy")
Oder Sie können die Zelle oder den Zellbereich auch formatieren, bevor Sie ihr/ihm den StDateFull-Wert übergeben, wie:
Range("A1").NumberFormat = "dd.mm.yyyy"
Range("A:C").Select
Format$ ("dd.mm.yyyy")
Range("A1").value = stDateFull