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 -
- Ako používať VBA TIMER?
- Odpočítajte čas v Exceli
- Sprievodca Excel VBA čas
- TERAZ Funkcia Excel