VBA čakacia funkcia - Ako používať funkciu čakania na Excel VBA?

Obsah:

Anonim

Funkcia čakania na VBA

Podobne ako funkcia spánku Funkcia Čakanie vo VBA umožňuje kód na niekoľko sekúnd čakať alebo pozastaviť. Ako sa tieto funkcie používajú, musíme urobiť nejaký konkrétny kód tak, aby bol pozastavený alebo podržaný, aby mohol nejaký iný program fungovať ako prvý a potom obnoviť ďalší program. Nazýva sa tiež metóda Application.Wait vo VBA.

Ako už názov napovedá, funkcia VBA Wait vo VBA sa používa na pridržanie programu do určitého času, aby počas tohto času mohol fungovať iný kód. Pozadie aplikácií beží ďalej a čaká iba aktuálny modul.

Syntax funkcie Wait v Excel VBA

Syntax na použitie funkcie Application.Wait vo VBA je nasledovná:

Táto funkcia vráti logickú hodnotu.

Ak teda potrebujeme kód, ktorý dnes počká do 14:00, syntax kódu bude takáto:

Application.Wait („14:00:00“)

Vyššie uvedený kód spôsobí zastavenie kódu do 14:00 a kód sa obnoví až po 14:00. To nie je optimálne, aby kód čakal na 14:00, vo všeobecnosti chceme počkať na určitý kód ďalších 10 sekúnd a potom spustiť. Ak potrebujem urobiť kód, aby som čakal 10 sekúnd, kód bude nasledujúci:

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

Teraz je to funkcia, ktorá vezme aktuálny čas a my pridávame 10 sekúnd k aktuálnej funkcii času pomocou hodnoty času, aby kód mohol čakať alebo pozastaviť na 10 sekúnd.

Poznámka: Aby sme mohli používať VBA, musíme mať povolenú kartu vývojára na karte Súbory v časti Možnosti.

Ako používať funkciu čakania na Excel VBA?

Na niekoľkých príkladoch sa naučíme, ako používať funkciu VBA Wait Excel.

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

Čakacia funkcia VBA - príklad # 1

Momentálne je čas v mojom notebooku 15:50 hodín a chcem, aby sa kód obnovil o 16:00. Použijeme jednoduchý prírastok k niektorým premenným, ale výsledok zobrazíme po 16:00. Chceme, aby kód na toto obdobie čakal.

Krok 1: Prejdite na kartu Vývojár a kliknutím na Visual Basic otvorte editor VB.

Krok 2: Kliknite na kartu Vložiť a potom na modul .

Krok 3: Akonáhle sa otvorí okno s kódom, vyhláste sub-funkciu, ktorá začne písať kód.

kód:

 Čiastková vzorka () Koniec č 

Krok 4: Vyhláste tri premenné AB a C ako celé číslo.

kód:

 Vzorka () Dim A, B, C ako celé číslo Sub 

Krok 5: Priraďte náhodné hodnoty premennej A a B.

kód:

 Čiastková vzorka () Dim A, B, C ako celé číslo A = 10 B = 15 koncových čiastkových čísel 

Krok 6: Pomocou funkcie application.wait nechajte funkciu čakať do 16:00.

kód:

 Čiastková vzorka () Dim A, B, C ako celé číslo A = 10 B = 15 Application.Wait ("16:00:00") End Sub 

Krok 7: Použite pridanie A a B a uložte výstup do C.

kód:

 Čiastková vzorka () Dim A, B, C ako celé číslo A = 10 B = 15 Aplikácia. Počkajte ("16:00:00") C = A + B Koncová čiastková 

Krok 8: Použite funkciu Msgbox na zobrazenie hodnoty C.

kód:

 Čiastková vzorka () Dim A, B, C ako celé číslo A = 10 B = 15 Aplikácia. Počkajte ("16:00:00") C = A + B MsgBox C End Sub 

Krok 9: Spustite vyššie uvedený kód. Keď spustíme kód, vidíme, že kód nezobrazí správu až o 16:00, ale po 16:00 dostanem nasledujúci výstup.

Aby som videl tento výsledok, musel som počkať do 16:00. Kód funkcie Msgbox musel skutočne čakať.

VBA čakacia funkcia - príklad # 2

Uvidíme kód s niektorými personalizovanými správami, že kód bude čakať 10 sekúnd a po uplynutí 10 sekúnd sa zobrazí, že doba čakania uplynula a zobrazí konečný výsledok.

Krok 1: Prejdite na kartu Vývojár a kliknutím na Visual Basic otvorte editor VB.

Krok 2: Vyhlásením podprogramu začnete písať kód.

kód:

 Čiastková vzorka1 () Koncová čiastková č 

Krok 3: Vyhláste tri premenné AB a C ako celé číslo.

kód:

 Čiastková vzorka 1 () Dim A, B, C ako celé číslo Sub 

Krok 4: Priraďte náhodné hodnoty premenným A a B.

kód:

 Čiastková vzorka 1 () Dim A, B, C ako celé číslo A = 2 B = 10 koncových čiastkových čísel 

Krok 5: Pomocou funkcie Msgbox zobrazte, že sa má začať čakať.

kód:

 Čiastková vzorka1 () Dim A, B, C ako celé číslo A = 2 B = 10 MsgBox „Čakacia doba sa začína“ End Sub 

Krok 6: Pomocou funkcie Čakajte čakajte na kód na 10 sekúnd.

kód:

 Čiastková vzorka1 () Dim A, B, C ako celé číslo A = 2 B = 10 MsgBox Aplikácia „Čakacia doba sa začína“. Čakanie (Now + TimeValue („0:00:10“)) Koniec Sub 

Krok 7: Do premennej C ukladá hodnotu B / A a zobrazuje personalizovanú správu, že čakacia doba je u konca a potom zobrazuje hodnotu C.

kód:

 Čiastková vzorka 1 () Dim A, B, C ako celé číslo A = 2 B = 10 MsgBox „Aplikácia čaká na čas“. Čakanie (teraz + TimeValue („0:00:10“)) C = B / A MsgBox “ Čakacia doba je u konca "MsgBox C End Sub 

Krok 8: Spustíme kód a uvidíme prvú správu, ako je nasledujúca.

Krok 9: Stlačením tlačidla OK zobrazíte ďalší výsledok po uplynutí 10 sekúnd.

Krok 10: Keď stlačíme ok, dostaneme konečný výsledok.

Vo vyššie uvedenom príklade sme urobili kód tak, aby čakal 10 sekúnd a potom zobrazil výsledok hodnoty C.

VBA čakacia funkcia - príklad # 3

Teraz premenujme pracovné hárky 1 a 2 na Anand a Aran Respektive, ale chceme, aby medzi týmito dvoma hárkami bola premenovaná medzera 5 sekúnd.

Krok 1: Prejdite na kartu Vývojár a kliknutím na Visual Basic otvorte editor VB.

Krok 2: Vyhlásením podprogramu začnete písať kód.

kód:

 Čiastková vzorka 2 () Koniec č 

Krok 3: Aktivujte prvý pracovný hárok.

kód:

 Sub Sample2 () Pracovné hárky („List1“). Aktivácia End Sub 

Krok 4: Premenujte prvý pracovný hárok ako Anand.

kód:

 Sub Sample2 () Pracovné hárky ("List1"). Aktivácia pracovných hárkov ("List1"). Názov = "Anand" End Sub 

Krok 5: Zobrazte správu, že hárok 1 bol premenovaný a kód sa na päť sekúnd pozastaví.

kód:

 Sub Sample2 () Pracovné hárky ("List1"). Aktivácia pracovných hárkov ("List1"). Meno = "Anand" MsgBox "List 1 premenovaný teraz kód sa pozastaví na 5 sekúnd" End Sub 

Krok 6: Pomocou funkcie Čakať nechajte kód čakať päť sekúnd.

kód:

 Sub Sample2 () Pracovné hárky ("List1"). Aktivácia pracovných hárkov ("List1"). Meno = "Anand" MsgBox "List 1 premenovaný teraz kód bude pauza na 5 sekúnd" Application.Wait (Now + TimeValue ("0:00: 05 ")) Koniec pod 

Krok 7: Teraz premenujte druhý hárok 2 na Aran.

kód:

 Sub Sample2 () Pracovné hárky ("List1"). Aktivácia pracovných hárkov ("List1"). Meno = "Anand" MsgBox "List 1 premenovaný teraz kód bude pauza na 5 sekúnd" Application.Wait (Now + TimeValue ("0:00: 05 ")) Pracovné hárky (" Sheet2 "). Aktivujte pracovné hárky (" Sheet2 "). Názov =" Aran "End Sub 

Krok 9: Zobrazte správu, že hárok 2 bol premenovaný a čakanie prešlo.

kód:

 Sub Sample2 () Pracovné hárky ("List1"). Aktivácia pracovných hárkov ("List1"). Meno = "Anand" MsgBox "List 1 premenovaný teraz kód bude pauza na 5 sekúnd" Application.Wait (Now + TimeValue ("0:00: 05 ")) Pracovné hárky (" List2 "). Aktivujte pracovné hárky (" List2 "). Meno =" Aran "MsgBox" Čakacia doba vypršala a hárok 2 sa tiež premenoval na "End Sub 

Krok 10: Teraz spustite kód, aby ste videli výsledok.

Vidíme, že hárok 1 bol premenovaný na Anand a dostaneme správu, ktorá čaká päť sekúnd. Kliknite na OK a počkajte päť sekúnd na druhú správu.

Z vyššie uvedených príkladov je zrejmé, ako používať funkciu čakania v VBA.

Čo je potrebné pamätať

Čo sa týka funkcie čakania na Excel VBA, musíme si pamätať niekoľko vecí:

  • Je to podobné ako funkcia spánku.
  • Funkcia čakania je zabudovaná vo VBA na rozdiel od funkcie spánku, ktorá je funkciou systému Windows.
  • Funkcia Wait berie ako argument čas.

Odporúčané články

Toto bol sprievodca funkciou VBA Wait Function. Tu sme diskutovali o tom, ako používať Excel VBA Wait Function spolu s praktickými príkladmi a stiahnuteľnou šablónou Excel. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. Ako používať VBA TIMER?
  2. Odpočítajte čas v Exceli
  3. Sprievodca Excel VBA čas
  4. TERAZ Funkcia Excel