Sub ContoRovescia()
Dim Tb1 As Date
Dim Cts As Date
Dim Pti As Date
Dim Fin As Date
'assegniamo ad una cella un valore espresso in secondi che rappresenta il tempo massimo 'iniziale
Tb1 = Range("B1").Value
Pti = "0.00.01" ' Imposta la durata espressa in secondi
Cts = "0.00.01"
Fin = "0.00.00"
10: 'indice riga a cui si ritorna per continuare il ciclo
Dim PauseTime, Start 'dimensionamento delle due variabili
Start = Time ' Imposta l'ora di inizio.
Do While Time < Start + Pti
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 - Cts
'inseriamo l'istruzione: se B1 è uguale a zero
If Range("B1").Value = Fin 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 |