如何调试此VBA/Excel代码?
我有源VBA,问题是我如何在if-else中及时停止如何调试此VBA/Excel代码?,vba,excel,Vba,Excel,我有源VBA,问题是我如何在if-else中及时停止 Sub ok2() Application.OnTime Now + TimeValue("00:00:01"), "test", Schedule:=True End Sub Sub ok3() Application.OnTime Now + TimeValue("00:00:01"), "test", Schedule:=False End Sub Sub test() If i < 50 Then
Sub ok2()
Application.OnTime Now + TimeValue("00:00:01"), "test", Schedule:=True
End Sub
Sub ok3()
Application.OnTime Now + TimeValue("00:00:01"), "test", Schedule:=False
End Sub
Sub test()
If i < 50 Then
UserForm2.Label1.Width = i * 2
i = i + 1
ok2
Else
ok3
End If
End Sub
Sub-ok2()
Application.OnTime Now+TimeValue(“00:00:01”),“test”,Schedule:=True
端接头
分包商ok3()
Application.OnTime Now+TimeValue(“00:00:01”),“test”,Schedule:=False
端接头
子测试()
如果我<50,那么
UserForm2.Label1.Width=i*2
i=i+1
ok2
其他的
ok3
如果结束
端接头
要取消OnTime,您还需要提供时间表设置时的准确时间
考虑以下内容供您参考
Option Explicit
Private SetTimer As Date
Sub ok2()
Application.OnTime SetTimer, "test", Schedule:=True
End Sub
Sub ok3()
Application.OnTime SetTimer, "test", Schedule:=False
End Sub
Sub testTimer()
If MsgBox("test", vbYesNo) = vbYes Then
SetTimer = Now + TimeValue("00:00:10")
ok2
Else
ok3
End If
End Sub
sub test
msgbox Now
end sub
您不能使用
Application.OnTime Now + TimeValue("00:00:01"), "test", Schedule:=False
您需要在EarliestTime参数中提供它计划运行的确切时间
例如,当Now
为17:00:00时,您运行ok2
这意味着test
将在17:00:01运行,因为Now+TimeValue(“00:00:01”)
将在17:00:01运行
因此,要停止它,必须运行以下代码
Application.OnTime TimeValue("17:00:01"), "test", Schedule:=False
注意声明中没有
现在
,即必须提供时间表的确切时间。不确定您试图解决的问题是什么,因为问题中没有什么细节,但通过查看脚本,您是否尝试过在Sub test()
中的ok2
和ok3
之前添加Call
?您好,我的按钮单击Call Sub-ok2,然后…请将您的问题标题添加到解释您遇到的问题或您提出的问题的内容。VBA exel在标记中,因此在标题中没有任何意义。请帮帮我,也不能传达任何信息;如果你不需要帮助,你就不会在这里发帖了。当未来的读者在搜索结果中看到你的标题时,你的标题应该对他们有用。嗨,兄弟,我的问题是如何及时停止是的,我理解。请看我的最新答案。欢迎你。如果它能解决您的问题,请将此标记为答案。TQ