如何在Excel中正确地将秒转换为hh:mm:ss

时间:2015-08-07 17:03:26

标签: excel excel-vba vba

我正在尝试计算在Excel中完成分析所需的时间。我使用DateDiff计算它所需的秒数,然后尝试以小时,分钟,秒为格式。

我的代码在线上导致溢出错误:

dTime = dTime / (60 * 60 * 24)

你知道我做错了吗?

Dim dTime As Long
Dim startTime, endTime As Date

startTime = Now() ' at the start of the analysis
endTime = Now() ' at the end of the analysis

dTime = DateDiff("s", startTime, endTime)
dTime = dTime / (60 * 60 * 24) 'convert seconds into days
StatusBox.Value = "Analysis completed in " & Format(dTime, "hh:mm:ss") & "."

2 个答案:

答案 0 :(得分:6)

看来你过度补偿了。无需转换。简单地从结束时间中减去开始时间(可选地存储为@MatthewD提到的双精度格式)并将单元格格式化为 hh:mm:ss (首选)或表示时间的字符串{{ 1}}。

Format(dTime, "hh:mm:ss")

如果您希望它是Date类型var,则您的startTime声明不正确。您使用的方法将其创建为变体。

答案 1 :(得分:2)

试试这个

[id^="div"]{
   /*styles here*/
}