Application.Wait和Excel VBA运行时错误“13”types不匹配

我不明白为什么我有这一行Application.Wait在错误(黄色突出显示)?

Sub Wait_Random() Dim Low As Double Dim High As Double Low = 90 '<<< CHANGE AS DESIRED High = 126 '<<< CHANGE AS DESIRED r = Int((High - Low + 1) * Rnd() + Low) Application.Wait Now + TimeValue("00:00:" & CStr(r)) End Sub 

我发现问题是这段代码试图“添加一个string的数字”。 但我迷路了! 提前致谢 ;)

这是因为你的variables总是大于59秒。 (实际上它大于90)。 你应该改变LowHigh所以r永远不会更大59:

 Sub Wait_Random() Dim Low As Double Dim High As Double Dim r as Integer Low = 1 '<<< CHANGE AS DESIRED High = 59 '<<< CHANGE AS DESIRED r = Int((High - Low) * Rnd() + Low) Application.Wait Now + TimeValue("00:00:" & CStr(r)) End Sub 

或者你可以使用另一种方式

 Application.Wait DateAdd("s", r, Now) 

添加r秒。 在这种情况下, r可能会更大。