Excel/VBA/Application.OnTime



我没有编程经验(任何类型的编程经验,所以如果你能帮助我,请慢慢说:-((,但已经设法(在这些论坛的帮助下(将以下内容组合在一起(我相信如果你看到其他一些,你们都会 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 独立没有问题(。

我猜这是因为当"时间价值"到达 13:40 和 13:45 时,"计时器"已经在运行。

我是否必须在 13:40 之前停止计时器以允许这些宏运行(然后重新启动它(,或者是否有另一种方法可以在不暂停"StartTimer"宏的情况下执行此操作?

记得。。。。请慢慢说:-(

期待中的感谢

亨德里克斯

Excel 堆叠按时调度的宏,并按时间顺序或(如果时间相等(按计划它们的顺序执行它们。据我所知,您可以安排的准时宏的数量没有显着限制。所以我的猜测是,没有调用 Macro1 和 Macro2 还有另一个原因。也许您的 VBA 项目包含多个"Macro1"子例程?

最新更新