Sub ContoRovescia()
'assegniamo ad una cella un valore espresso in secondi che rappresenta il tempo massimo 'iniziale
Range("B1").Value = 60
10: 'indice riga a cui si ritorna per continuare il ciclo
Dim PauseTime, Start 'dimensionamento delle due variabili
PauseTime = 1 ' Imposta la durata espressa in secondi
Start = Timer ' Imposta l'ora di inizio.
Do While Timer < Start + PauseTime
DoEvents ' Passa il controllo ad altri processi.
Loop
'quindi ad ogni secondo trascorso temporizzato dal timer si sottrae 1 al valore presente 'nella cella B1 (sotto)
Range("B1").Value = Range("B1").Value - 1
'inseriamo l'istruzione: se B1 è uguale a zero
If Range("B1").Value = 0 Then
'avvisiamo con un messaggio
MsgBox "L'ora X è scoccata"
Exit Sub 'si esce dalla routine
End If
'altrimenti (se non siamo a zero in B1), si ritorna alla riga 10
GoTo 10
End Sub |