У меня есть макрос 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
