【发布时间】:2020-01-31 02:20:25
【问题描述】:
我正在尝试计算两个日期之间的秒差异到小数点后两位。但是,每当我执行代码时,我都会收到错误 13,类型不匹配。我在网上搜索并尝试了很多变体,但我总是以类型不匹配结束。我不确定如何解决这个问题。有人可以教我怎么做吗?
INFO:最初使用来自this question的代码
这是当前代码:
Sub Query()
Dim Beginning As Date: Beginning = Now: Dim Duration As Double
... more code ...
Duration = Round((Now- Beginning) * 60 * 60 * 24, 2)
End Sub
这行得通,谢谢 BigBen!另外,谢谢 Siddarth Rout。
顺便说一句,我改成了你提到的定时器,BigBen,而且好多了。 :)
Sub Query()
Dim Beginning As Single: Dim Ending As Single
Beginning = Timer()
... more code ...
Ending = Timer()
Duration = Format(WorksheetFunction.Round(Ending - Beginning, 2), "#0.00")
End Sub
服务很好,再次感谢!
亲切的问候, 约瑟夫
【问题讨论】:
-
Format返回Variant/String。链接的答案需要修复。 -
此外,该函数根本不会返回以秒为单位的差异。
/ 60 / 60 / 24将DateDiff的结果从秒转换回天... -
你要使用计时器吗?
-
我不确定您所说的计时器是什么意思 - 这是 Excel VBA 中的特定对象吗?我正在尝试计算一段代码运行需要多长时间。
-
是的
Timer对于您想做的事情好多了 :-)。无论如何,很高兴能提供帮助。重要的是你得到了你需要的答案,即使需要一些时间才能到达那里。