Ich versuche, Millisekunden in einem Excel-Makro anzuzeigen. Ich habe eine Spalte mit Ganzzahlen, die Zeitstempel in Millisekunden sind (z. B. 28095200 ist 7: 48: 15.200 Uhr), und ich möchte eine neue Spalte daneben erstellen, die einen laufenden Durchschnitt beibehält und die Zeit in einem hh:mm:ss.000
Format anzeigt .
Dim Cel As Range
Set Cel = Range("B1")
temp = Application.Average(Range("A1:A2")) / 1000
ms = Round(temp - Int(temp), 2) * 1000
Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
& "." & Strings.Format(ms, "#000")
Dies zeigt nur "mm: ss.0" in der Zelle an. Wenn ich jedoch auf die Zelle klicke, wird in der Formelleiste "hh: mm: ss" angezeigt. Warum fehlen die Stunden? Wie kann ich die Stunden, Minuten, Sekunden und Millisekunden anzeigen?
3
in derRound
Funktion. Dies stellt sicher, dass Sie 3 Dezimalstellen statt nur 2 erhalten..
ist, muss das ersetzt werden,
, genau wie für die Dezimalstellen in Zahlen. Andernfalls beschwert sich Excel, dass es sich nicht um ein gültiges Format handelt. Also muss es sein[h]:mm:ss,000
Ich habe in Excel 2007 festgestellt, dass die ss.000 nicht funktioniert, wenn die Ergebnisse eine Tabelle aus einer eingebetteten Abfrage sind. Ich kann die Abfrageergebnisse (aus SQL Server Management Studio) einfügen und die Zeit einwandfrei formatieren. Wenn ich die Abfrage jedoch als Datenverbindung in Excel einbette, gibt das Format immer .000 als Millisekunden an.
quelle
Ich habe das in Excel 2000 gemacht.
Diese Aussage sollte sein:
ms = Round(temp - Int(temp), 3) * 1000
Sie müssen ein benutzerdefiniertes Format für die Ergebniszelle von erstellen
[h]:mm:ss.000
quelle
Stellen Sie zuerst die Epoche der Millisekundenzeit als Datum dar (normalerweise 01.01.1970), und addieren Sie dann Ihre Millisekundenzeit geteilt durch die Anzahl der Millisekunden pro Tag (86400000):
=DATE(1970,1,1)+(A1/86400000)
Wenn Ihre Zelle richtig formatiert ist, sollten Sie ein für Menschen lesbares Datum und eine lesbare Uhrzeit sehen.
quelle