Ola, Boa noite Sou novo no Forum e leigo em Visual Basic.
Tenho a seguinte situacao.
Criei uma planilha, que o usuario lancara informacoes , e ao terminar de lancar as informacoes, o macro chamara uma contagem regressiva que definira 20 minutos (ou quanto eu definir no codigo) para lancar a informacao novamente. Se o tempo zerar, chamara um alarme.
Beleza, consegui fazer a planilha, e funcionou em todas as condicoes, com uma excecao:
O usuario vai lancar as informacoes antes de terminar o tempo. Se ele fizer isso, o relogio resseta e inicia uma nova contagem. EIS O PROBLEMA: Esta nova contagem que se inicia, acaba acumulando dois, tres , quatro, comandos do application OnTime, da forma que pula os segundos.
Exemplo: No Primeiro clique de Reset, ele desconta de 1 em 1 segundo, no segundo de 2 em 2 segundos, no terceiro de 3 em 3, e assim sucessivamente.
Obs: Ja tentei Exit Sub em todos os locais possiveis e nao funcionou.
Obs2: Perdao pelo texto sem acentuacao , estou com problemas no teclado.
Segue codigo do modulo:
Dim Inicio As Boolean
Dim Tempo As Date
Sub MeuRelogio()
If Inicio = True Then
If Tempo = TimeValue("00:00:00") Then
Call TocarAlarme
Else
Sheets("home").Range("a1") = Tempo
Application.OnTime Now() + TimeValue("00:00:01"), "MeuRelogio"
Tempo = Tempo - TimeValue("00:00:01")
End If
End If
End Sub
Sub IniciarContagem()
If Tempo > TimeValue("00:00:00") Then
Inicio = True
Call MeuRelogio
Else
Inicio = False
End If
End Sub
Sub ResetarContagem()
Tempo = TimeValue("00:20:00")
Call IniciarContagem
Call Salvar
End Sub
Agradeco muito se puderem me ajudar
Abracos
Postado : 06/03/2018 8:47 pm