Excel-Makro: Wie kann ich den Zeitstempel im Format „JJJJ-MM-TT HH: MM: SS“ abrufen?


79

Ich verwende DateTime.Nowin meinem Excel-Makro den aktuellen Zeitstempel.

Es zeigt den Zeitstempel im Format "TT-MM-JJJJ HH: MM: SS".

Wie kann ich stattdessen den Zeitstempel im Format "JJJJ-MM-TT HH: MM: SS" erhalten?

Antworten:



41

DateTime.NowGibt einen Wert vom Datentyp zurück Date. Datumsvariablen zeigen Datumsangaben entsprechend dem auf Ihrem Computer festgelegten kurzen Datums- und Zeitformat an.

Sie können von der Formatin anderen Antworten genannten Funktion als Zeichenfolge für die Anzeige in einem beliebigen gültigen Datumsformat formatiert werden

Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")


4

Wenn einige Benutzer des Codes unterschiedliche 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 angibt.

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

1

Kopieren Sie dieses Format und fügen Sie es in Formatzellen ein , indem Sie auf Zollkategorie unter Typ klicken


1

das hat bei mir am besten funktioniert:

        Cells(partcount + 5, "N").Value = Date + Time
        Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"

1

Zeitstempel beim Speichern des Arbeitsmappenpfads muss das " :" 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"

-1

Verwenden Sie die Formatierungsfunktion.

Format(Date, "yyyy-mm-dd hh:MM:ss")

Arbeite nicht! Dateenthalten nur das Kalenderdatum, aber die Stunde, Minuten und Sekunden sind auf 0:00:00 festgelegt! Sie müssen Now()stattdessen verwenden ..
A. Sommerh

-1

So einfach kann das gehen, wählen Sie den gewünschten Ort, in diesem Fall wähle ich D3

Sheets("Put your Sheet's name here").Range("D3") = Now

Beispiel, mein Blatt heißt Sources

Sheets("Sources").Range("D3") = Now
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.