我正在尝试在Excel宏中显示毫秒。我有一个整数列,其中包含以毫秒为单位的时间戳(例如28095200是上午7:48:15.200),我想在它旁边创建一个新列,保持运行平均值并以hh:mm:ss.000
格式显示时间。
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")
这只在单元格中显示“mm:ss.0”。但是当我点击单元格时,在公式栏中会显示“hh:mm:ss”。为什么小时数会丢失?我该如何显示小时、分钟、秒和毫秒?
Round
函数中使用3
。这可以确保你获得3位小数,而不仅仅是2位。 - Ben McCormack.
需要替换为逗号,
,就像数字中的小数位一样。否则Excel会报错并表示它不是有效的格式。因此,应该使用[h]:mm:ss,000
格式。如果其他人也遇到相同的问题,我想分享这个发现。 - gehho