Pozastaviť kód vo VBA

Dokonca sa čudujem, aké by bolo skvelé, keby sme mohli spustiť kód podľa našich časových možností, pretože dovtedy sa nám podarí dokončiť ďalšiu prácu a pripraviť tieto údaje na ďalšiu prácu. Toto je potreba akýchkoľvek druhov úloh, kde musíme spustiť jednu sadu kódu a pracovať na iných veciach podľa požiadaviek kódu, a kým sa nespustí druhá časť kódu, sme pripravení s údajmi, ktoré potrebujeme spracovať s rovnaký kód. Toto je možné dosiahnuť pomocou aplikácie VBA v režime spánku a čakania. Spánkom a čakaním môžeme kód kedykoľvek pozastaviť. Čas môže byť v sekundách alebo čas podľa hodín.

Syntax VBA Pause v Exceli

Syntax pre VBA Pause je nasledovná:

Príklady pozastavenia kódu VBA v programe Excel

Nižšie sú uvedené rôzne príklady pozastavenia kódu VBA v programe Excel.

Túto šablónu VBA Pause Excel si môžete stiahnuť tu - VBA Pause Excel Template

Príklad č. 1 - Pauza VBA

V tomto príklade uvidíme, ako funguje VBA Wait. Ako vidíme, aplikácia Čakať umožňuje Time as Boolean. Čo znamená, že ak je hodnota, ktorú poskytujeme, správna, potom by sme ju dostali ako PRAVDY FALSE.

Ak chcete zistiť, ako bude VBA Pause pracovať s aplikáciou Wait vo VBA,

Krok 1: Najprv by sme potrebovali modul, do ktorého budeme písať kód. Prejdite do ponuky Vložiť a z rozbaľovacej ponuky vyberte položku Modul, ako je to znázornené nižšie.

Krok 2: Teraz napíšte podkategóriu do názvu VBA Pause alebo do iného mena podľa vášho výberu, ako je uvedené nižšie.

kód:

 Sub VBAPause1 () End Sub 

Na prestávku VBA potrebujeme nejakú množinu textu, ktorý by sme chceli s prestávkou vytlačiť. Zoberme si tento text ako „ Získať … Nastaviť … Choď… !! ". Vyberieme teda 3 rôzne bunky, v ktorých budeme uchovávať tieto textové slová oddelene v každej bunke.

Krok 3: Vyberte prvý rozsah bunky ako A1 alebo akúkoľvek inú bunku podľa výberu a ak chcete jej dať hodnotu, vyberte funkciu Value a dajte jej hodnotu, ako sme určili vyššie. Alebo zvoľte ľubovoľnú hodnotu podľa výberu.

kód:

 Rozsah Sub VBAPause1 () ("A1"). Hodnota = "Get …" End Sub 

Krok 4: Zvyšné hodnoty priraďte rovnakým spôsobom ako pri prvej hodnote. Tu vyberáme bunky od A1 do C1 ako náš sortiment.

kód:

 Rozsah Sub VBAPause1 () ("A1"). Hodnota = "Get …" Range ("B1"). Hodnota = "Set …" Range ("C1"). Hodnota = "Go .. !!!" End Sub 

Krok 5: Ak náhodou spustíme kompletný kód, dostaneme všetky hodnoty. Nastaviť … Go .. !!! v jednom kroku z bunky A1 do C1, ako je uvedené nižšie.

Krok 6: Teraz, ak sa chceme pauzy medzi celou prestávkou, musíme použiť aplikáciu Čakať, ako je uvedené nižšie. Túto aplikáciu budeme používať tesne nad posledným rozsahom.

kód:

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

Krok 7: V zátvorke aplikácie Čakať môžeme písať čas vo formáte 24HR alebo vo formáte AM / PM. Uvažujeme o formáte 24HR. Teraz napíšte čas vo formáte HH: MM: SS, keď chceme po pauze spustiť zvyšok kódu.

kód:

 Rozsah sub VBAPause1 () ("A1"). Hodnota = "Get …" Range ("B1"). Value = "Set …" Application.Wait ("12: 26: 00") Range ("C1") .Value = "Go .. !!!" End Sub 

Krok 8: Teraz zostavte kód a znova ho spustite. Uvidíme, že v bunke A1 máme bunkovú hodnotu ako „Get…“ a kurzor stále beží na čakanie.

Krok 9: Akonáhle hodiny dosiahnu o 12:25:00 hodín, zvyšné hodnoty buniek v bunkách B1 a C1 sa opäť zjavia, ako je uvedené nižšie.

Príklad č. 2 - Pauza VBA

Existuje iný spôsob, ako môžeme pozastaviť kód bez pridania alebo zmeny času v aplikácii Čakať viackrát. Preto by sme odkázali na rovnaký kód, aký sme videli v príklade 1.

Krok 1: Teraz v zátvorke aplikácie Počkajte napíšte Now () s TimeValue, ktorý chceme dať. Zoberme si pauzu 30 sekúnd.

kód:

 Rozsah sub VBAPause2 () ("A1"). Hodnota = "Get …" Range ("B1"). Hodnota = "Set …" Application.Wait (Now () + TimeValue ("00:00:30") ) Rozsah ("C1"). Hodnota = "Go .. !!!" End Sub 

Krok 2: Takže keď spustíme kód, VBA zváži aktuálny čas a pridá pauzu 30 sekúnd. Bude to fungovať podobným spôsobom ako v príklade 1. Pre kontrolu spustite kód.

Najprv získame prvú hodnotu bunky v A1.

A po 30 sekundách pauzy poskytne zvyšné hodnoty v bunke B1 a C1.

Príklad č. 3 - Pauza VBA

V tomto príklade uvidíme, ako VBA Pause pracuje s aplikáciou Sleep . Nižšie je uvedená syntax aplikácie Sleep, ktorá umožňuje ByVal dwMilliseconds iba ako LongPtr .

Táto hodnota je teraz vo VBA. Musíme zadať preddefinovaný kód, ktorý je k dispozícii v MS Docs, ako je to znázornené nižšie.

Krok 1: Teraz napíšte podkategóriu pre VBA Pause, ako je uvedené nižšie.

kód:

 Sub VBAPause3 () Koniec sub 

Krok 2: Na tento účel by sme mali definovať 2 premenné pre čas začiatku a spánku ako reťazec, ako je uvedené nižšie.

kód:

 Sub VBAPause3 () Dim začínajúci ako reťazec Dim Spiaci ako reťazec koniec Sub 

Krok 3: Priraďte časovú funkciu prvej premennej, ktorá sa začína .

kód:

 Sub VBAPause3 () Dim začínajúci ako reťazec Dim Spiaci ako reťazec začínajúci = Time End Sub 

Krok 4: A pomocou Msgbox zobrazíte hodnotu uloženú v počiatočnej premennej.

kód:

 Sub VBAPause3 () Dim začínajúci ako reťazec Dim Spiaci ako reťazec začínajúci = čas MsgBox počiatočný koniec Sub 

Krok 5: Teraz použite aplikáciu Spánok a priraďte počet milisekúnd, kým nebudeme chcieť funkcie spať.

kód:

 Sub VBAPause3 () Dim začínajúce ako reťazec Dim spiace ako reťazec začínajúci = čas MsgBox začínajúci spať = časový koniec Sub 

Krok 6: Teraz podobným spôsobom aplikujte aplikáciu Time na druhú premennú Sleeping . A pomocou MsgBoxu zobrazíte hodnotu uloženú v premennej Sleeping, ako je to znázornené nižšie.

kód:

 Sub VBAPause3 () Dim začíname ako reťazec Dim spí ako reťazec začínajúci = Time MsgBox Začína spať = Time MsgBox Sleeping End Sub 

Nakoniec kód skompilujte a spustite ho kliknutím na tlačidlo Prehrať pod panelom s ponukami, ako je to znázornené nižšie. Dostaneme odkazové okno s časom, ktorý bude našim štartovacím časom.

Keď klikneme na OK, po 5 000 milisekundách sa zobrazí ďalšie okno s hlásením Spací čas, ako je uvedené nižšie.

Čas na spanie sa začne hneď po kliknutí na tlačidlo OK. Nie je to časový rozdiel medzi časom Štart a Čas spánku. V skutočnosti je to čas, keď klikneme na tlačidlo Ok v prvom okne správy.

Výhody VBA pauzy

  • Je veľmi užitočné, keď máme v určitom časovom intervale viac funkcií.
  • Toto sa môže použiť na účely analýzy a výpočtu.

Čo je potrebné pamätať

  • Proces ako VBA Pause sa nedá vykonať zaznamenaním makra.
  • Vždy je lepšie použiť postup uvedený v príklade 2 pre aplikáciu Čakať, pri ktorej budeme mať istotu, že čas nebude možné meniť znova a znova, namiesto toho, aby sme si ponechali pauzu niekoľkých sekúnd po aktuálnom čase.
  • Spánková aplikácia z príkladu 3 umožňuje iba milisekundy
  • Predbežný kód zobrazený na začiatku príkladu 3 je dôležitou súčasťou, ktorá sa použije, pretože uspokojí syntax aplikácie Spánok.

Odporúčané články

Toto je príručka pre VBA Pause. Tu diskutujeme o tom, ako môžeme kód kedykoľvek pozastaviť pomocou aplikácie Wait and Sleep Application. Môžete tiež navštíviť naše ďalšie navrhované články -

  1. Ako používať číselnú funkciu VBA?
  2. Vytvorenie rozbaľovacieho zoznamu v Exceli
  3. Vložte začiarkavacie políčko v programe Excel
  4. VBA UCASE Funkcia v Exceli

Kategórie: