У меня есть макрос VBA, который запускает таймер для каждой ячейки, на которую я нажимаю, используя кнопки запуска, остановки и сброса. Но в тот момент, когда я нажимаю на другую ячейку на листе (таким образом, меняя активную ячейку), мой таймер на предыдущей ячейке автоматически останавливается.
Я хочу, чтобы это продолжалось до тех пор, пока я не скажу ему прекратить использовать кнопку остановки.
Я публикую код ниже и надеюсь, что вы, ребята, сможете взглянуть на него и, возможно, помочь этому новичку :)
Dim StopTimer As Boolean
Dim SchdTime As Date
Dim Etime As Date
Const OneSec As Date = 1 / 86400#
Private Sub StartBtn_Click()
Etime = 0
Selection.Interior.ColorIndex = 6
StopTimer = False
SchdTime = Now()
Selection.Value = Format(Etime, "hh:mm:ss")
Application.OnTime SchdTime + OneSec, "Sheet1.NextTick"
End Sub
Private Sub ResetBtn_Click()
Selection.Interior.ColorIndex = -4142
StopTimer = True
Etime = 0
Selection.Value = "00:00:00"
End Sub
Private Sub StopBtn_Click()
Selection.Interior.ColorIndex = 4
StopTimer = True
Beep
End Sub
Sub NextTick()
If StopTimer Then
'Dont Reschedule Update
ElseIf Selection.Interior.ColorIndex = 6 Then
Selection.Value = Format(Etime, "hh:mm:ss")
SchdTime = SchdTime + OneSec
Application.OnTime SchdTime, "Sheet1.NextTick"
Etime = Etime + OneSec
End If
End Sub