Ritardo una macro in Excel VBA
Per eseguire un sub in Excel VBA dopo un tempo specifico, utilizzare ontime, Now e la funzione TimeValue. In primo luogo, mettere un sub in un modulo.
-
Aprire l’editor di Visual Basic e fare clic su Inserisci, Modulo.
-
Aggiungere il seguente sub con il nome promemoria:
Sub reminder() MsgBox "Don't forget your meeting at 14.30" End Sub
Vogliamo Excel VBA per eseguire questo sub 5 secondi dopo un pulsante di comando viene cliccato.
-
Inserire un pulsante di comando
nel foglio di lavoro e aggiungere la seguente riga di codice:
Application.OnTime Now() + TimeValue("00:00:05"), "reminder"
-
Fare clic sul pulsante di comando sul foglio di lavoro.
Risultato 5 secondi successivi:
-
Se si desidera eseguire questo sub in un momento specifico, è sufficiente utilizzare il seguente riga di codice:
Application.OnTime TimeValue("14:00:00 am"), "reminder"
-
Fare clic sul pulsante di comando sul foglio di lavoro e di attesa fino alle 14:00 del mattino per vedere il tuo sub in esecuzione.
Nota: probabilmente non utilizzare Excel VBA per ricordarsi di un incontro importante, ma se si vuole, è meglio mettere una macro come questo in una cartella di lavoro Open Event.
In questo modo, si riceverà automaticamente un promemoria alle 14:00 AM (non c’è bisogno di fare clic su un pulsante di comando per attivare la macro). Naturalmente, si riceverà solo il promemoria quando si lascia l’aperta cartella di lavoro.