【问题标题】:Display milliseconds in Excel在 Excel 中显示毫秒
【发布时间】:2011-03-06 22:36:24
【问题描述】:

我正在尝试在 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”。为什么小时数不见了?如何显示小时、分钟、秒和毫秒?

【问题讨论】:

    标签: excel vba time


    【解决方案1】:

    右键单击单元格B1 并选择格式化单元格。在 Custom 中,在标记为 Type 的文本框中输入以下内容:

    [h]:mm:ss.000 
    

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

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

    这应该可以满足您的需求。

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

    【讨论】:

    • 耶!但是有没有办法在代码中做到这一点?现在每次我运行宏时,格式都会重置。 (因为我正在删除并重新创建宏中的工作表。) Cel.EntireRow.NumberFormat = "[h]:mm:ss.000" 但这只是在单元格中给了我“######”。
    • @Evelyn - 3 件事:1) 我添加了设置数字格式所需的代码。 2)确保您的列足够宽以适合整个格式化文本。见我上面的注释。 3)查看吉尔伯特的回答并注意3Round 函数中的使用。这样可以确保您获得 3 位小数,而不是 2 位。
    • 啊!你说的对。我只需要加宽列。此外,在这种情况下,我只想要 2 的准确度。我只是希望它被格式化为 3。非常感谢您的帮助!
    • 我刚刚发现了以下内容并想分享它以防其他人也遇到同样的问题:如果您的 Windows/Excel 配置为德国,. 必须替换为,,就像数字中的小数位一样。否则 Excel 会抱怨它不是一个有效的格式。所以,它必须是[h]:mm:ss,000
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我是在 Excel 2000 中完成的。

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

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

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

        • 嗨,乔治,欢迎您!不幸的是,OP 似乎特别要求一种方法来实现单元格“正确格式化”。他们最初的方法已经涵盖了您正在解决的部分:将毫秒时间戳转换为可格式化的日期时间值。此外,在六年的时间里,这是一个相当古老的问题,您将时间投入其中。您对新问题的意见将更加感激!
        猜你喜欢
        • 2014-12-07
        • 2013-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-22
        • 1970-01-01
        • 1970-01-01
        • 2013-06-20
        相关资源
        最近更新 更多