Funzione di attesa VBA - Come utilizzare la funzione di attesa VBA di Excel?

Sommario:

Anonim

Funzione di attesa VBA

Simile alla funzione sleep La funzione Wait in VBA crea un codice in attesa o in pausa per alcuni secondi. Come vengono utilizzate tali funzioni che è necessario mettere in pausa o tenere in attesa un codice specifico per far funzionare prima qualche altro programma e quindi riprendere l'altro programma. Viene anche chiamato come metodo Application.Wait in VBA.

Come suggerisce il nome, la funzione VBA Wait in VBA viene utilizzata per mantenere un programma a un orario specifico in modo che altri codici possano funzionare durante tale periodo. Le applicazioni in background continuano a funzionare e solo il modulo corrente attende.

Sintassi della funzione di attesa in Excel VBA

La sintassi per utilizzare la funzione Application.Wait in VBA è la seguente:

Questa funzione restituisce un valore booleano.

Quindi, se abbiamo bisogno di un codice per attendere fino alle 14:00 di oggi, la sintassi per il codice sarà la seguente:

Application.Wait ("14:00:00")

Il codice sopra farà fermare il codice fino alle 14:00 e il codice riprenderà solo dopo le 14:00. Questo non è ottimale per far aspettare un codice per le 14:00, in generale, vogliamo attendere un determinato codice per altri 10 secondi e quindi eseguirlo. Se devo fare in modo che il codice aspetti 10 secondi, il codice sarà il seguente:

Application.Wait (Now + TimeValue (“0:00:10”))

Ora è la funzione che prenderà l'ora corrente e stiamo aggiungendo 10 secondi all'ora corrente attraverso la funzione del valore temporale in modo che il codice possa attendere o mettere in pausa per 10 secondi.

Nota: per utilizzare VBA dobbiamo avere la scheda dello sviluppatore abilitata dalla scheda File nella sezione opzioni.

Come utilizzare la funzione di attesa VBA di Excel?

Impareremo come utilizzare una funzione VBA Wait Excel con alcuni esempi.

Puoi scaricare questo modello VBA Wait Excel qui - Modello VBA Wait Excel

Funzione di attesa VBA - Esempio n. 1

Attualmente, l'ora del mio laptop è alle 15:50 e voglio che il codice riprenda alle 16:00. Useremo la semplice aggiunta ad alcune variabili ma visualizzeremo il risultato dopo le 16:00. Vogliamo che il codice attenda quel periodo.

Passaggio 1: vai alla scheda Sviluppatore e fai clic su Visual Basic per aprire VB Editor.

Passaggio 2: fare clic sulla scheda Inserisci e quindi fare clic su Modulo .

Passaggio 3: una volta aperta la finestra del codice, dichiarare una sotto-funzione per iniziare a scrivere il codice.

Codice:

 Campione secondario () End Sub 

Passaggio 4: dichiarare tre variabili AB e C come numero intero.

Codice:

 Sottocampione () Dim A, B, C come numero intero finale 

Passaggio 5: assegnare valori casuali alle variabili A e B.

Codice:

 Sottocampione () Dim A, B, C Come intero A = 10 B = 15 End Sub 

Passaggio 6: utilizzare una funzione application.wait per attendere fino alle 16:00.

Codice:

 Campione secondario () Dim A, B, C Come intero A = 10 B = 15 Applicazione. Attendere ("16:00:00") Fine sottotitoli 

Passaggio 7: utilizzare l'aggiunta di A e B e memorizzare l'output in C.

Codice:

 Sottocampione () Dim A, B, C Come intero A = 10 B = 15 Applicazione. Aspetta ("16:00:00") C = A + B End Sub 

Passaggio 8: utilizzare una funzione Msgbox per visualizzare il valore di C.

Codice:

 Sottocampione () Dim A, B, C Come intero A = 10 B = 15 Applicazione. Attendi ("16:00:00") C = A + B MsgBox C End Sub 

Passaggio 9: eseguire il codice precedente. Una volta eseguito il codice, vediamo che il codice non visualizza un messaggio fino alle 16:00, ma dopo le 16:00 ottengo il seguente output.

Ho dovuto aspettare fino alle 16:00 per vedere questo risultato. Il codice della funzione Msgbox ha dovuto attendere effettivamente.

Funzione di attesa VBA - Esempio n. 2

Vediamo il codice con alcuni messaggi personalizzati che il codice attenderà per 10 secondi e dopo che sono trascorsi 10 secondi verrà visualizzato che il tempo di attesa è scaduto e visualizzato il risultato finale.

Passaggio 1: vai alla scheda Sviluppatore e fai clic su Visual Basic per aprire VB Editor.

Passaggio 2: dichiarare una sotto-funzione per iniziare a scrivere il codice.

Codice:

 Sub Sample1 () End Sub 

Passaggio 3: dichiarare tre variabili AB e C come numero intero.

Codice:

 Sottocampione1 () Dim A, B, C come numero intero finale 

Passaggio 4: assegnare valori casuali alle variabili A e B.

Codice:

 Sub Sample1 () Dim A, B, C Come intero A = 2 B = 10 End Sub 

Passaggio 5: utilizzare una funzione Msgbox per visualizzare che il tempo di attesa sta per iniziare.

Codice:

 Sub Sample1 () Dim A, B, C Come intero A = 2 B = 10 MsgBox "Il tempo di attesa è iniziato" End Sub 

Passaggio 6: utilizzare la funzione di attesa per attendere il codice per 10 secondi.

Codice:

 Sub Sample1 () Dim A, B, C Come intero A = 2 B = 10 MsgBox "Il tempo di attesa è iniziato" Application.Wait (Now + TimeValue ("0:00:10")) End Sub 

Passaggio 7: Nella variabile C memorizza il valore di B / A e visualizza un messaggio personalizzato in cui il periodo di attesa è scaduto, quindi visualizza il valore di C.

Codice:

 Sub Sample1 () Dim A, B, C Come intero A = 2 B = 10 MsgBox "Il tempo di attesa è iniziato" Application.Wait (Now + TimeValue ("0:00:10")) C = B / A MsgBox " Il tempo di attesa è scaduto "MsgBox C End Sub 

Passaggio 8: eseguiamo il codice e vediamo il primo messaggio come il seguente.

Passaggio 9: premere OK per vedere il risultato successivo dopo che sono trascorsi 10 secondi.

Passaggio 10: quando si preme ok, si ottiene il risultato finale.

Nell'esempio sopra, abbiamo fatto aspettare il codice per 10 secondi e quindi visualizzare il risultato del valore di C.

Funzione di attesa VBA - Esempio n. 3

Ora rinominiamo i fogli di lavoro foglio 1 e foglio 2 come Anand e Aran Rispettivamente, ma vogliamo un intervallo di 5 secondi tra i due fogli che vengono rinominati.

Passaggio 1: vai alla scheda Sviluppatore e fai clic su Visual Basic per aprire VB Editor.

Passaggio 2: dichiarare una sotto-funzione per iniziare a scrivere il codice.

Codice:

 Sub Sample2 () End Sub 

Passaggio 3: attiva il primo foglio di lavoro.

Codice:

 Fogli di lavoro sub campione2 () ("Foglio1"). Attiva fine sottotitolo 

Passaggio 4: rinominare il primo foglio di lavoro come Anand.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva fogli di lavoro ("Foglio1"). Nome = "Anand" End Sub 

Passaggio 5: visualizza un messaggio in cui il foglio 1 è stato rinominato e il codice verrà messo in pausa per cinque secondi.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva fogli di lavoro ("Foglio1"). Nome = "Anand" MsgBox "Foglio 1 rinominato ora il codice verrà messo in pausa per 5 secondi" End Sub 

Passaggio 6: utilizzare la funzione di attesa per far attendere il codice per cinque secondi.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva fogli di lavoro ("Foglio1"). Nome = "Anand" MsgBox "Foglio 1 rinominato ora il codice verrà messo in pausa per 5 secondi" Application.Wait (Now + TimeValue ("0:00: 05 ")) End Sub 

Step 7: Ora rinomina il secondo foglio 2 come Aran.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva fogli di lavoro ("Foglio1"). Nome = "Anand" MsgBox "Foglio 1 rinominato ora il codice verrà messo in pausa per 5 secondi" Application.Wait (Now + TimeValue ("0:00: 05 ")) Fogli di lavoro (" Foglio2 "). Attiva fogli di lavoro (" Foglio2 "). Nome =" Aran "End Sub 

Passaggio 9: visualizzare un messaggio in cui il foglio 2 è stato rinominato e l'attesa è stata superata.

Codice:

 Sub Sample2 () Fogli di lavoro ("Foglio1"). Attiva fogli di lavoro ("Foglio1"). Nome = "Anand" MsgBox "Foglio 1 rinominato ora il codice verrà messo in pausa per 5 secondi" Application.Wait (Now + TimeValue ("0:00: 05 ")) Fogli di lavoro (" Foglio2 "). Attiva fogli di lavoro (" Foglio2 "). Nome =" Aran "MsgBox" Il tempo di attesa è scaduto e anche il foglio 2 viene rinominato "End Sub 

Passo 10: ora esegui il codice per vedere il risultato.

Possiamo vedere che il foglio 1 è stato rinominato Anand e possiamo aspettare che il messaggio attenda cinque secondi. Fare clic su OK e attendere cinque secondi per il secondo messaggio.

Dagli esempi precedenti, è chiaro come utilizzare la funzione di attesa in VBA.

Cose da ricordare

Ci sono alcune cose che dobbiamo ricordare sulla funzione di attesa VBA di Excel:

  • È simile alla funzione Sleep.
  • La funzione di attesa è integrata in VBA a differenza della funzione di sospensione che è una funzione di Windows.
  • La funzione Wait richiede Time come argomento.

Articoli consigliati

Questa è stata una guida alla funzione di attesa VBA. Qui abbiamo discusso su come utilizzare la funzione di attesa VBA di Excel insieme ad esempi pratici e modello Excel scaricabile. Puoi anche consultare i nostri altri articoli suggeriti:

  1. Come usare VBA TIMER?
  2. Sottrai il tempo in Excel
  3. Guida a Excel VBA Time
  4. ORA funzione Excel