Como pode ser visto no codigo abaixo, existe um tempo limite de uso da planilha de 45seg porem se o usuario fechar a planilha o tempo continua correndo...ou seja....mesmo com a planilha fechada o sistema volta a abri-la e tenta executar o código PERGUNTA: Como cancelar a execução do método OnTime quando a planilha for fechada??? Sub tempo()
Dim tempo1
tempo1 = Now + TimeValue("00:00:45")
Call Application.OnTime(tempo1, "fecha_janela")
End Sub
Sub fecha_janela()
Application.DisplayAlerts = False
Sheets("Base").Visible = 2
Sheets("Agenda").Visible = 2
Sheets("Principal").Range("D12") = Empty
Application.OnTime EarliestTime:=Now + TimeValue("00:00:00"), Procedure:="oi", Schedule:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub PS: Criei o procedimento Oi (que apenas limpa algumas celulas)