我想将此完整代码保留在仅限本工作簿模块中。但是当我将EventCode / ProcedureCode保存在Thisworkbook Module中时,它无效。
Dim alertTime As Date
Sub StartMacro()
alertTime = Now + TimeValue("00:00:01")
Application.OnTime alertTime, "EventCode"
End Sub
Sub StopMacro()
alertTime = Now + TimeValue("00:00:01")
Application.OnTime alertTime, "EventCode", , False
End Sub
Sub EventCode()
MsgBox "Okay", vbInformation, "I am working"
ThisWorkbook.StartMacro
End Sub
同样正常工作如果我将事件代码保留在新模块中。
有关如何通过将整个代码保留在ThisWorkbook模块中来使其工作的任何建议。
答案 0 :(得分:-1)
您好请使用下面的代码......这应该有效。 首先调用StartTheMachine然后调用StopMacro来停止它。
Dim bTickerIsOn As Boolean
Sub StartMacro()
Application.OnTime Now + TimeValue("00:00:01"), "EventCode", , bTickerIsOn
End Sub
Sub StopMacro()
bTickerIsOn = False
End Sub
Sub StartTheMachine()
bTickerIsOn = True
StartMacro
End Sub
Sub EventCode()
Range("A1") = Time 'I used this instead of the msgbox to show the action
If bTickerIsOn Then StartMacro
End Sub
祝你好运!