VBA代码一次结束macros

我一直在寻找一段时间,试图find一种方法来迫使macros在1时15分停止运行。 我发现某些时候会closures工作簿的东西,但是没有任何东西会保持工作簿打开并停止macros。 我相信它与Application.OnTime "13:15:00"function有关,但我不知道如何让它在下午1:15停止macros。

这就是让我的Excel工作簿保持运行的原因:首先,当我打开工作簿时,

 Private Sub Workbook_Open() If Time > TimeSerial(6, 45, 0) Then Call TimeStamp Else Application.Wait "06:45:00" Call TimeStamp End Sub 

然后,启动TimeStampmacros,每15分钟运行一次这些全局variables和编码:

 Option Explicit Public RunWhen As Double Public Const cRunIntervalSeconds = 900 ' 15 minutes Public Const cRunWhat = "TimeStamp" ' the name of the procedure to run Sub StartTimer() RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _ Schedule:=True 

在本节之后是我的TimeStampmacros,结束于: Call StartTimer从当前时间开始计划下一个运行时间15分钟。

这将在下午1:15之后停止安排下次运行

 If Time < TimeSerial(13,15,0) Then RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds) Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _ Schedule:=True End If