VBA mantém o temporizador em execução até ser instruído a parar

0

Eu tenho uma macro VBA que inicia um cronômetro em cada célula em que clico usando um botão Iniciar, Parar e Redefinir. Mas no momento em que clico em outra célula na folha (alterando assim a célula ativa), meu temporizador na célula anterior para automaticamente.

Eu estou querendo que continue até que eu diga para parar de usar o botão parar.

Estou postando o código abaixo e espero que vocês possam dar uma olhada e possivelmente ajudar este novato:)

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
    
por Suraj 22.09.2015 / 19:34

0 respostas