Un esempio di come sia possibile utilizzare la funzione
OnTime di
Application per creare un conto alla rovescia.
In questo esempio, per semplicità, sono raccolte la parte di verifica e di impostazione del nuovo evento in un'unica procedura, impostando semplicmente il timer iniziale con l'aggiunta di 1 secondo. |
Il codice della macro:
Sub AggiornaTimer()
Set TempoResiduo =
Range("TempoResiduo")
'se il timer è azzerato esce
If (TempoResiduo.Value = "")
Then Exit Sub
'decrementa il timer di 1 secondo
TempoResiduo.Value = TempoResiduo.Value - TimeValue("00:00:01")
If (TempoResiduo.Value > 0)
Then
'reimposta il timer al secondo sucessivo
Application.
OnTime Now() + TimeValue("00:00:01"), "AggiornaTimer"
Else
' il conteggio è terminato
MsgBox "Tempo terminato"
Exit Sub
End If
End Sub
Avvia e termina anticipatamente il conteggio:
Sub Avvia()
TempoIniziale = TimeValue("00:00:10")
Range("TempoResiduo").Value = TempoIniziale + TimeValue("00:00:01")
AggiornaTimer
End Sub
Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.