我一直在寻找一种方法,试图强迫宏停止在下午1:15运行。我找到了会在某个时间关闭工作簿的东西,但没有任何东西可以保持工作簿打开并停止宏。我相信它与Application.OnTime "13:15:00"
功能有关,但我不知道如何在下午1:15停止宏。
这就是我的excel工作簿运行的原因: 首先,当我打开工作簿时,这就开始了:
Private Sub Workbook_Open()
If Time > TimeSerial(6, 45, 0) Then
Call TimeStamp
Else
Application.Wait "06:45:00"
Call TimeStamp
End Sub
然后将启动TimeStamp宏,它使用这些全局变量和编码每15分钟运行一次:
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
此部分之后是我的TimeStamp宏,其结尾为:Call StartTimer
以安排从当前时间起15分钟的下一个运行时间。
答案 0 :(得分:1)
这将在下午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