代码之家  ›  专栏  ›  技术社区  ›  Evelyn

在Excel中显示毫秒数

  •  109
  • Evelyn  · 技术社区  · 15 年前

    我试图在Excel宏中显示毫秒。我有一列整数,它是以毫秒为单位的时间戳(例如,28095200是7:48:15.200 AM),我想在它旁边创建一个新的列,它保持一个运行平均值,并将时间显示在 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”。为什么时间不见了?如何显示小时、分钟、秒和毫秒?

    4 回复  |  直到 7 年前
        1
  •  207
  •   Ben McCormack    15 年前

    右键单击单元格 B1 并选择 格式化单元 . 在 习俗 ,将以下内容放入标有 类型 :

    [h]:mm:ss.000 
    

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

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

    这会给你你想要的。

    注意:特殊格式的字段通常要求列宽足以容纳格式化文本的整个内容。否则,文本将显示为 ###### .

        2
  •  5
  •   Eric    13 年前

    我在Excel2007中发现,如果结果是一个嵌入查询的表,那么SS.000就不起作用。我可以粘贴查询结果(来自SQL Server Management Studio),并且可以很好地格式化时间。但是当我将查询作为数据连接嵌入到Excel中时,格式总是以毫秒为单位给出.000。

        3
  •  4
  •   Gilbert Le Blanc    15 年前

    我在Excel2000中做了这个。

    此声明应为: ms = Round(temp - Int(temp), 3) * 1000

    您需要为的结果单元格创建自定义格式 [h]:mm:ss.000

        4
  •  -3
  •   George    9 年前

    首先将毫秒时间的纪元表示为日期(通常为1970年1月1日),然后将毫秒时间除以一天中的毫秒数(86400000):

    =DATE(1970,1,1)+(A1/86400000)

    如果您的单元格格式正确,您应该看到一个人类可读的日期/时间。

    推荐文章