当我运行下面的代码(test1)时,我会得到不同的结果,几乎总是在2.5秒左右 - 很少是3秒。如果计算机被其他东西占用,我可以理解它高于3秒,但不到3毫无意义。我用xl2003和xl2010尝试了这个,结果相似。我希望有人可以向我解释一下。
Option Explicit
Dim t As Double
Sub test1()
Debug.Print Now
Application.OnTime Now + TimeValue("00:00:03"), "test2", , True
' t = Timer
End Sub
Sub test2()
Debug.Print Now
' Debug.Print Timer - t
End Sub
答案 0 :(得分:0)
Now()
和Timer
似乎异步更新其值。在一些快速测试中,我得到的差异大约为0到1秒。
正如您所发现的那样,您应该坚持一个时间源。另外,OnTime
只能以1秒为增量进行安排。