Ich verwende DateTime.Now
in meinem Excel-Makro, um den aktuellen Zeitstempel anzuzeigen.
Es zeigt den Zeitstempel im Format "TT-MM-JJJJ hh: mm: ss".
Wie bekomme ich stattdessen den Zeitstempel im Format "JJJJ-MM-TT hh: mm: ss"?
Versuchen Sie es mit: format(now(), "yyyy-MM-dd hh:mm:ss")
DateTime.Now
gibt einen Wert vom Datentyp Date
zurück. Datumsvariablen zeigen Datumsangaben entsprechend dem auf Ihrem Computer eingestellten kurzen Datumsformat und Zeitformat an.
Sie können als Zeichenfolge zur Anzeige in einem beliebigen gültigen Datumsformat von der Format
-Funktion formatiert werden, wie in anderen Antworten erwähnt
Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
Format(Now(), "yyyy-MM-dd hh:mm:ss")
das funktionierte am besten für mich:
Cells(partcount + 5, "N").Value = Date + Time
Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"
Wenn einige Benutzer des Codes ein anderes Format für die Spracheinstellungen haben, funktioniert das Format möglicherweise nicht. Daher verwende ich den folgenden Code, der den Zeitstempel im Format "yyymmdd hhMMss" unabhängig von der Sprache enthält.
Function TimeStamp()
Dim iNow
Dim d(1 To 6)
Dim i As Integer
iNow = Now
d(1) = Year(iNow)
d(2) = Month(iNow)
d(3) = Day(iNow)
d(4) = Hour(iNow)
d(5) = Minute(iNow)
d(6) = Second(iNow)
For i = 1 To 6
If d(i) < 10 Then TimeStamp = TimeStamp & "0"
TimeStamp = TimeStamp & d(i)
If i = 3 Then TimeStamp = TimeStamp & " "
Next i
End Function
Kopieren Sie dieses Format yyyy-mm-dd hh: MM: ss in Formatzellen, indem Sie unter Typ auf Zollkategorie klicken
Zeitstempel beim Speichern des Arbeitsmappenpfads, der ":
" muss geändert werden. Ich habe ":
" -> ".
" verwendet, was bedeutet, dass ich die Erweiterung wieder "xlsx
" hinzufügen muss.
wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & " - " & Format(Now(), "mm-dd-yy, hh.mm.ss") & ".xlsx"