Pausa VBA - Metti in pausa il codice VBA dall'applicazione Wait and Sleep

Sommario:

Anonim

Codice di pausa in VBA

Mi chiedo anche come sarebbe fantastico se potessimo eseguire il codice secondo i nostri tempi, perché fino a quel momento saremmo riusciti a completare l'altro lavoro e rendere quei dati pronti per un ulteriore lavoro. Questa è la necessità di qualsiasi tipo di attività in cui è necessario eseguire un set di codice e lavorare su altre cose secondo i requisiti del codice e fino a quando non verrà eseguita l'altra parte del codice, saremmo pronti con i dati che dobbiamo elaborare con stesso codice. Questo può essere fatto con l'applicazione Sleep and Wait di VBA. Con Sleep and Wait, possiamo mettere in pausa il codice in qualsiasi momento. Il tempo può essere in secondi o in base all'orologio.

Sintassi di VBA Pausa in Excel

La sintassi per VBA Pause è la seguente:

Esempi per mettere in pausa il codice VBA in Excel

Di seguito sono riportati i diversi esempi per mettere in pausa il codice VBA in Excel.

Puoi scaricare questo modello di Pausa Excel VBA qui - Modello di Pausa Excel VBA

Esempio n. 1 - Pausa VBA

In questo esempio, vedremo come funziona VBA Wait. Come possiamo vedere, l'applicazione Wait consente Time as Boolean. Ciò significa che se il valore che alimentiamo è corretto, lo otterremmo come VERO altrimenti FALSO.

Per vedere come funzionerà Pausa VBA con l'applicazione Wait in VBA,

Passaggio 1: Innanzitutto, avremmo bisogno di un modulo in cui scriveremo il codice per questo. Quindi vai al menu Inserisci e seleziona Modulo dall'opzione a discesa come mostrato di seguito.

Passo 2: Ora scrivi la sottocategoria nel nome di VBA Pause o in qualsiasi altro nome secondo la tua scelta come mostrato di seguito.

Codice:

 Sub VBAPause1 () End Sub 

Per la pausa VBA, abbiamo bisogno di un set di testo che vorremmo stampare con una pausa. Consideriamo che il testo è " Ottieni … Imposta … Vai … !! ”. Quindi selezioneremo 3 celle diverse in cui terremo queste parole di testo separatamente in ogni cella.

Passaggio 3: Seleziona il primo intervallo di celle come A1 o qualsiasi altra cella secondo la scelta, e per assegnargli il valore, seleziona Funzione valore e assegnagli un valore come fissato sopra. Oppure scegli qualsiasi valore secondo la scelta.

Codice:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" End Sub 

Passaggio 4: assegnare il resto dei valori nello stesso modo in cui abbiamo fatto per il primo valore. Qui stiamo scegliendo le celle da A1 a C1 come nostra gamma.

Codice:

 Intervallo VBAPause1 () secondario ("A1"). Valore = "Ottieni …" Intervallo ("B1"). Valore = "Imposta …" Intervallo ("C1"). Valore = "Vai .. !!!" End Sub 

Passaggio 5: per caso, se eseguiamo il codice completo, otterremmo tutti i valori Get. Set … Go .. !!! in una volta dalla cella A1 a C1 come mostrato di seguito.

Passaggio 6: Ora, se vogliamo ottenere una pausa tra l'intera pausa, dovremmo utilizzare l'applicazione Attendi come mostrato di seguito. Utilizzeremo questa applicazione appena sopra l'ultimo intervallo.

Codice:

 Sub VBAPause1 () Range ("A1"). Value = "Get …" Range ("B1"). Value = "Set …" Application.Wait (Range ("C1"). Value = "Go ..! !! "End Sub 

Passaggio 7: Nella parentesi dell'applicazione Wait è possibile scrivere l'ora nel formato 24HR o nel formato AM / PM. Stiamo prendendo in considerazione il formato 24 ore. Ora scrivi l'ora nel formato HH: MM: SS quando vogliamo eseguire il resto del codice dopo una pausa.

Codice:

 Intervallo VBAPause1 () secondario ("A1"). Valore = "Ottieni …" Intervallo ("B1"). Valore = "Imposta …" Applicazione. Attendi ("12: 26: 00") Intervallo ("C1") .Value = "Go .. !!!" End Sub 

Passaggio 8: compilare ora il codice ed eseguirlo nuovamente. Vedremo, nella cella A1 abbiamo ottenuto il valore della cella come "Ottieni …" e il cursore è ancora in attesa.

Passaggio 9: E una volta che l'orologio raggiunge le 12:25:00, il resto dei valori della cella nelle celle B1 e C1 apparirà di nuovo apparentemente come mostrato di seguito.

Esempio n. 2 - Pausa VBA

Esiste un altro modo per mettere in pausa il codice senza aggiungere o modificare più volte il tempo nell'applicazione Wait. Per questo, faremo riferimento allo stesso codice che abbiamo visto nell'esempio-1.

Passaggio 1: Ora nella parentesi dell'applicazione Wait scrivere Now () con TimeValue che vogliamo dare. Consideriamo la pausa di 30 secondi.

Codice:

 Intervallo VBAPause2 () secondario ("A1"). Valore = "Ottieni …" Intervallo ("B1"). Valore = "Imposta …" Application.Wait (Now () + TimeValue ("00:00:30") ) Range ("C1"). Value = "Go .. !!!" End Sub 

Passo 2: Quindi quando eseguiamo il codice, VBA prenderà in considerazione l'ora corrente e aggiungerà una pausa di 30 secondi. E funzionerà in modo simile come nell'esempio 1. Per controllo, esegui il codice.

Innanzitutto, otterremo il primo valore di cella in A1.

E dopo 30 secondi di pausa, fornirà il resto dei valori nelle celle B1 e C1.

Esempio n. 3 - Pausa VBA

In questo esempio, vedremo come VBA Pause funziona con l'applicazione Sleep . Di seguito è riportata la sintassi dell'applicazione Sleep che consente a ByVal dwMilliseconds solo come LongPtr .

Ora, questo valore è in realtà in VBA. Dobbiamo inserire il codice predefinito che è disponibile in MS Docs come mostrato di seguito.

Passaggio 1: scrivere ora la sottocategoria per Pausa VBA come mostrato di seguito.

Codice:

 Sub VBAPause3 () End Sub 

Passaggio 2: per questo, dovremmo definire 2 variabili per il tempo di inizio e di sonno come stringa, come mostrato di seguito.

Codice:

 Sub VBAPause3 () Dim Avvio come stringa Dim Sospensione come stringa Fine Sottotitoli 

Passaggio 3: assegnare la funzione tempo alla prima variabile che sta avviando .

Codice:

 Sub VBAPause3 () Dim Avvio come stringa Dim Sospensione come stringa Inizio = Ora fine Sott 

Passaggio 4: utilizzare Msgbox per visualizzare il valore memorizzato nella variabile iniziale.

Codice:

 Sub VBAPause3 () Dim Avvio come stringa Dim Sospensione come stringa Avvio = Tempo MsgBox Inizio fine Sott 

Passaggio 5: ora utilizza l'applicazione Sleep e assegna il numero di millisecondi fino a quando non vogliamo sospendere le funzioni.

Codice:

 Sub VBAPause3 () Dim Avvio come stringa Dim Sospensione come stringa Avvio = Tempo MsgBox Inizio sospensione = Tempo Fine Sott 

Passaggio 6: ora in modo simile, dai l'applicazione Time alla seconda variabile Sleeping . E usa MsgBox per vedere il valore memorizzato nella variabile Sleeping come mostrato di seguito.

Codice:

 Sub VBAPause3 () Dim Avvio come stringa Dim Sospensione come stringa Avvio = Tempo MsgBox Inizio sospensione = Tempo MsgBox Sleeping Fine Sott 

Alla fine, compila il codice ed esegui il codice facendo clic sul pulsante Riproduci situato sotto la barra dei menu come mostrato di seguito. Otterremo la finestra di messaggio con l'ora che sarà la nostra ora di inizio .

Dopo aver fatto clic su OK, dopo 5000 Millisecondi, vedremo un'altra finestra di messaggio con Tempo di sonno, come mostrato di seguito.

Il tempo di dormire inizierà subito dopo aver fatto clic sul pulsante Ok. Non è la differenza di tempo tra l'ora di inizio e quella di sonno. In effetti, è il momento in cui facciamo clic sul pulsante OK della prima finestra di messaggio.

Pro di VBA Pause

  • È molto utile quando abbiamo più funzioni da eseguire con un certo intervallo di tempo.
  • Questo può essere utilizzato a scopo di analisi e calcolo.

Cose da ricordare

  • Processi come VBA Pause non possono essere eseguiti registrando la macro.
  • È sempre meglio usare il processo mostrato nell'esempio 2 per l'applicazione Wait in cui saremo al sicuro dal cambiare l'ora più e più volte invece di mantenere solo la pausa di alcuni secondi dopo l'ora corrente.
  • L'applicazione Sleep dell'esempio 3 consente solo millisecondi
  • Il codice di pre-build mostrato all'inizio dell'esempio-3 è una parte importante da applicare in quanto soddisferà la sintassi dell'applicazione Sleep.

Articoli consigliati

Questa è una guida alla pausa VBA. Qui discutiamo come possiamo mettere in pausa il codice in qualsiasi momento usando l'applicazione Wait and Sleep. Puoi anche consultare i nostri altri articoli suggeriti -

  1. Come utilizzare la funzione IsNumeric di VBA?
  2. Creazione della casella combinata in Excel
  3. Inserisci CheckBox in Excel
  4. Funzione VBA UCASE in Excel