Cod de pauză în VBA

Mă întreb chiar, cum ar fi grozav dacă am putea rula codul conform timpului pe care ni-l permite, deoarece până atunci am reuși să finalizăm cealaltă lucrare și să facem aceste date gata pentru lucrări ulterioare. Aceasta este nevoia de orice fel de sarcini în care trebuie să rulăm un set de coduri și să lucrăm la alte lucruri, conform cerințelor de cod și până când se execută cealaltă porțiune a codului, am fi gata cu datele cu care trebuie să prelucrăm același cod. Acest lucru se poate face cu aplicația VBA Sleep and Wait. Prin Sleep and Wait, putem întrerupe codul în orice moment. Timpul poate fi în câteva secunde sau timp ca pe ceas.

Sintaxa de pauză VBA în Excel

Sintaxa pentru VBA Pause este următoarea:

Exemple pentru a întrerupe codul VBA în Excel

Mai jos găsiți diferitele exemple de pauză a codului VBA în Excel.

Puteți descărca acest șablon VBA Pause Excel aici - șablonul VBA Pause Excel

Exemplul # 1 - VBA Pause

În acest exemplu, vom vedea cum funcționează VBA Wait. După cum putem vedea, aplicația Wait permite timpul ca Boolean. Ceea ce înseamnă că dacă valoarea pe care o alimentăm este corectă, am obține-o ca fiind ADEVĂRAT FALSE.

Pentru a vedea cum va funcționa VBA Pause cu aplicația Wait în VBA,

Pasul 1: În primul rând, vom avea nevoie de un modul în care vom scrie codul pentru acest lucru. Așa că accesați meniul Inserați și selectați Modul din opțiunea derulantă, așa cum se arată mai jos.

Pasul 2: Acum scrieți subcategoria în numele VBA Pause sau în orice alt nume, după alegerea dvs., așa cum se arată mai jos.

Cod:

 Sub VBAPause1 () End Sub 

Pentru pauză VBA, avem nevoie de un set de text pe care am dori să îl tipărim cu o pauză. Să considerăm că textul este „ Obțineți… Setați… Mergeți… !! “. Așadar, vom selecta 3 celule diferite în care vom păstra aceste cuvinte text separat în fiecare celulă.

Pasul 3: Selectați primul interval de celule ca A1 sau orice altă celulă după alegere și pentru a-i da valoarea, selectați funcția Valoare și dați-i o valoare așa cum am stabilit mai sus. Sau alegeți orice valoare în funcție de alegere.

Cod:

 Sub VBAPause1 () Interval ("A1"). Valoare = "Obțineți …" End Sub 

Pasul 4: Alocați restul valorilor în aceeași manieră ca și noi pentru prima valoare. Aici alegem celule de la A1 la C1 ca rază de acțiune.

Cod:

 Sub VBAPause1 () Interval ("A1"). Valoare = "Get …" Interval ("B1"). Value = "Set …" Range ("C1"). Value = "Go .. !!!" Sub final 

Pasul 5: În orice caz, dacă rulăm codul complet, am obține toate valorile Obține. Set … Du-te .. !!! dintr-o dată, de la celula A1 la C1, așa cum se arată mai jos.

Pasul 6: Acum, dacă dorim să obținem o pauză între întreaga pauză, va trebui să folosim aplicația Așteptați așa cum se arată mai jos. Vom folosi această aplicație chiar peste ultimul interval.

Cod:

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

Pasul 7: În pachetul aplicației Wait putem scrie timp în format 24HRs sau în format AM / PM. Avem în vedere formatul 24HRs. Acum scrieți ora în format HH: MM: SS când dorim să rulăm restul codului după o pauză.

Cod:

 Sub VBAPause1 () Interval ("A1"). Valoare = "Get …" Interval ("B1"). Value = "Set …" Application.Wait ("12: 26: 00") Interval ("C1") .Value = "Du-te .. !!!" Sub final 

Pasul 8: Acum compilați codul și rulați-l din nou. Vom vedea, la celula A1 avem valoarea celulei ca „Get …” și totuși cursorul funcționează în așteptare.

Pasul 9: Și odată ce ceasul ajunge la 12:25:00 Ore, restul valorilor celulelor de la celula B1 și C1 vor apărea din nou, după cum se arată mai jos.

Exemplul # 2 - VBA Pause

Există un alt mod prin care putem întrerupe codul fără a adăuga sau modifica timpul în aplicația Așteptați de mai multe ori. Pentru aceasta, am face referire la același cod pe care l-am văzut în exemplul 1.

Pasul 1: Acum, în pachetul aplicației Wait scrieți acum () cu TimeValue pe care dorim să-l oferim. Să luăm în considerare pauza de 30 de secunde.

Cod:

 Sub VBAPause2 () Interval ("A1"). Valoare = "Get …" Interval ("B1"). Value = "Set …" Application.Wait (Now () + TimeValue ("00:00:30") ) Interval ("C1"). Valoare = "Mergi .. !!!" Sub final 

Pasul 2: Deci, atunci când rulăm codul, VBA va lua în considerare ora curentă și va adăuga pauză de 30 de secunde. Și va funcționa într-un mod similar, așa cum a funcționat în exemplul 1. Pentru verificare, executați codul.

În primul rând, vom obține prima valoare a celulei la A1.

Iar după o pauză de 30 de secunde, va da restul valorilor la celula B1 și C1.

Exemplul # 3 - VBA Pause

În acest exemplu, vom vedea cum funcționează VBA Pause cu aplicația Sleep . Mai jos este sintaxa aplicației Sleep care permite ByVal dwMilliseconds doar ca LongPtr .

Acum, această valoare este de fapt în VBA. Trebuie să introducem cod pre-construit care este disponibil în documente MS, după cum se arată mai jos.

Pasul 1: Scrie acum subcategoria pentru VBA Pause, așa cum se arată mai jos.

Cod:

 Sub VBAPause3 () End Sub 

Pasul 2: Pentru aceasta, va trebui să definim 2 variabile pentru Timpul de pornire și repaus ca String, după cum se arată mai jos.

Cod:

 Sub VBAPause3 () Dim Începând cu șirul Dim Dormit ca șir de capete Sub 

Pasul 3: Alocați funcția de timp primei variabile care este Start .

Cod:

 Sub VBAPause3 () Dim Începând cu șirul Dim Dormit ca șir de pornire = sfârșit de timp Sub 

Pasul 4: și utilizați Msgbox pentru a vedea valoarea stocată în variabila Start.

Cod:

 Sub VBAPause3 () Dim Începând cu șirul Dim Dormi ca șir de pornire = Timp MsgBox Start End Sub 

Pasul 5: Utilizați acum aplicația Sleep și alocați numărul de milisecunde până dorim să adormim funcțiile.

Cod:

 Sub VBAPause3 () Dim Începând cu șirul Dim Dormi ca șir de pornire = Timp MsgBox Începutul somnului = Timpul sfârșit Sub 

Pasul 6: Acum, într-un mod similar, acordați aplicației Time la a doua variabilă Sleeping . Și utilizați MsgBox pentru a vedea valoarea stocată în variabila adormită, așa cum se arată mai jos.

Cod:

 Sub VBAPause3 () Dim Începând cu șirul Dim Dormi ca șir de pornire = Timp MsgBox Începutul dormitului = Timp MsgBox Somnul sfârșit 

În cele din urmă, compilați codul și rulați codul făcând clic pe butonul Redare situat sub bara de meniu, așa cum se arată mai jos. Vom primi căsuța de mesaje cu timpul care va fi ora noastră de pornire .

După ce vom face clic pe Ok, după 5000 de milisecunde, vom vedea o altă casetă de mesaje cu Timp de adormire, așa cum se arată mai jos.

Ora de somn va începe imediat după ce facem clic pe butonul Ok. Nu este diferența de timp între ora de pornire și timpul de adormire. De fapt, este momentul după care facem clic pe butonul Ok al unei prime căsuțe de mesaje.

Beneficiile Pauzei VBA

  • Este foarte util când avem mai multe funcții care trebuie îndeplinite cu un interval de timp.
  • Aceasta poate fi utilizată în scopuri de analiză și calcul.

Lucruri de amintit

  • Procesul precum VBA Pause nu poate fi realizat prin înregistrarea macro-ului.
  • Este întotdeauna mai bine să folosiți procesul prezentat în exemplul 2 pentru aplicația Wait, unde vom fi în siguranță să schimbăm ora din nou iar în loc să păstrăm doar pauză de câteva secunde post după ora curentă.
  • Aplicația de somn din exemplul 3 permite doar Milisecunde
  • Codul pre-construit prezentat la începutul exemplului-3 este o parte importantă de aplicat, deoarece va satisface sintaxa aplicației Sleep.

Articole recomandate

Acesta este un ghid pentru VBA Pause. Aici vom discuta despre cum putem întrerupe codul în orice moment, folosind aplicația Wait and Sleep. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum se utilizează funcția VBA IsNumeric?
  2. Crearea casetei combinate în Excel
  3. Introduceți CheckBox în Excel
  4. VBA UCASE Funcție în Excel

Categorie: