我的代码遇到了两个问题。
按下按钮时,我希望它依次调用3个单独的宏。
v4
我尝试了以下代码:
Sub AutoOn()
call macro1
call macro2
call macro3
end sub
上面的示例应该每10秒运行一次,但是经过测试,它只能运行一次-我错过了什么?
当按下按钮时,我还将如何停止宏的运行,目前我只是在使用:
Private sub AutoOnBtn_Click()
AutoOnCheck.Value = True
Application.OnTime Now + TimeValue("00:00:10"), "AutoOn"
End Sub
会关闭包括表单在内的所有内容,但希望它使表单保持打开状态并仅停止宏。任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
计时器从现在开始倒计时10秒,然后触发宏,仅此而已。
相反,在运行三个宏之后,您必须使用Application.OnTime Now + TimeValue("00:00:10"), "AutoOn"
或调用Call AutoOnBtn_Click
再次设置计时器。喜欢:
Sub AutoOn()
call macro1
call macro2
call macro3
If Not StopRunning Then Application.OnTime Now + TimeValue("00:00:10"), "AutoOn"
end sub
关于停止它……您可以设置一个名为“ Stoprunning”的全局变量
(在任何子功能上方):
Public StopRunning as Boolean
然后单击按钮以停止计划的运行:
Sub somebutton_click()
StopRunning = True
End Sub
最后,在您的AutoOn()
中,当您设置下一次运行时,可以测试该值:
Sub AutoOn()
call macro1
call macro2
call macro3
If Not StopRunning Then Application.OnTime Now + TimeValue("00:00:10"), "AutoOn"
end sub