Excel中/ VBA / Application.OnTime

时间:2017-03-27 02:46:59

标签: excel-vba vba excel

我没有编程经验(任何形式,所以请你慢慢说,如果你能帮助我:-)),但是已经管理(在这些论坛的帮助下)将以下内容汇总起来(我确定如果你看到其他人的话,你就是所有的ROFL。

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 1, 0)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, schedule:=True
End Sub

Private Sub Workbook_Open()
Application.OnTime TimeValue("12:59:03"), "StartTimer"
Application.OnTime TimeValue("13:40:00"), "Macro1"
Application.OnTime TimeValue("13:45:00"), "Macro2"
Application.OnTime TimeValue("15:11:00"), "StopTimer"
End Sub

与“StartTimer”(cRunWhat)关联的宏按预期运行。 Macro1和Macro2不运行(尽管如果手动启动都会运行 - 在独立的基础上没有Macro1和Macro2的问题。)

我猜这是因为当“TimeValue”到达13:40和13:45时,“计时器”已经在运行。

我是否必须在13:40之前停止计时器以允许这些宏运行(然后重新启动它),或者是否有另一种方法可以不停顿“StartTimer”宏?

记住....请慢慢说: - )

感谢您的期待

亨德里克斯

1 个答案:

答案 0 :(得分:0)

Excel堆叠预定的ontime宏并按照时间顺序或(如果时间相等)在它们被安排的orde rin中执行它们。据我所知,您可以安排的ontime宏数量没有明显限制。所以我的猜测是没有调用Macro1和Macro2的另一个原因。也许你的VBA项目包含多个“Macro1”子程序?

相关问题