我创建了一个文件并有一个代码,无论我在 ActiveSheets 中的哪个位置,它都会在 1 分钟后选择我在代码中指示的默认单元格。
请在下面找到我的代码:
本工作簿模块:
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
stop_timer
End Sub
Private Sub Workbook_Open()
start_timer
End Sub
常规模块:
Option Explicit
Public RunWhen As Double
Public Sub start_timer()
'active the code after 1 minute
RunWhen = Now + TimeValue("00:01:00")
Application.OnTime RunWhen, "TimerRoutine"
End Sub
'Hier the code that must run every 1 minute and what he has to do'
Public Sub TimerRoutine()
Select Case LCase(ActiveSheet.Name)
Case "intervento spinale"
ActiveSheet.Range("J97").Select
Case "stroke"
ActiveSheet.Range("J131").Select
Case "infiltrazione"
ActiveSheet.Range("J67").Select
Case "diagnostica"
ActiveSheet.Range("J97").Select
Case "embo"
ActiveSheet.Range("J136").Select
Case "epatobiliare"
ActiveSheet.Range("J88").Select
Case "body"
ActiveSheet.Range("J151").Select
End Select
start_timer ' Reschedule the procedure
End Sub
Public Sub stop_timer()
Application.OnTime RunWhen, "TimerRoutine", , False
End Sub
我的问题是这段代码总是有效的,即使我正在处理工作表。1 分钟后,它会自动进入代码指示的单元格。我想如果我正在处理工作表,代码不会开始计算 1 分钟。
只有当我停下来,并且在执行代码后我保持静止 1 分钟。但如果我工作,我会在牢房里写,那就不行。如何更改我创建的代码以在不活动后开始我的代码的分钟倒计时?