在Excel中显示毫秒

我试图在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”。为什么小时内缺少小时?

另外,发生的另一个奇怪的事情是,如果我将最后一行更改为Strings.Format(ms,“#000。”),然后我得到“hh:mm:ss.000”。这就是我想要的,只是不是额外的时间。

右键单击单元格B1,然后选择“设置单元格格式”。在“自定义”中,将以下内容放在标记为“类型”的文本框中:

[h]:mm:ss.000 

要在代码中设置,可以执行以下操作:

Range("A1").NumberFormat = "[h]:mm:ss.000"

这应该给你你要找的。

注意:特殊格式化的字段通常要求列宽对于格式化文本的全部内容足够宽。否则,文本将显示为######。

http://stackoverflow.com/questions/3095407/display-milliseconds-in-excel

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在Excel中显示毫秒