我想用下面的代码来显示一系列命令运行需要多长时间。在这个例子中,我预计它会回来“10”或类似的东西。VBA - 显示子运行多长时间
相反,它回来了:
这是怎么回事,我该如何正确格式化这个?
Sub timeyWimey()
Dim t1 As Date
Dim t2 As Date
Dim timeTaken As Date
t1 = Now()
Application.Wait (Now + TimeValue("0:00:10"))
t2 = Now()
timeTaken = t2 - t1
MsgBox timeTaken
End Sub
编辑:
一些伟大的答案后的最终代码:在
Sub timeyWimey()
'Dim t1 As Double
'Dim t2 As Double
t1 = Now()
Application.Wait (Now + TimeValue("0:00:10"))
t2 = Now()
timeTaken = t2 - t1
MsgBox Format(timeTaken, "nn:ss.000")
End Sub
结果:
BAM!问题解决了!谢谢大家的帮助!
谢谢。所以这绝对解释了这个问题。让我稍微想一想。 – timbram
那么,小数点后的数字格式(通过当天的数量)是如何工作的?如果重新运行我的脚本,保持一切为双打,我知道已经过去的时间(10秒)是0.00005787036934635。这是一天中的某个比例吗? – timbram
我附加了如何将双重格式化到我的答案结尾。而'0.00005787036934635'基本上是一天的百分比。例如,如果它是0.5,那将是12:00noon,因为一天的一半已经过去了。 – Newd