Spánok VBA - Ako používať funkciu spánku Excel VBA? (S príkladmi)

Obsah:

Anonim

Funkcia spánku VBA

Funkcia spánku vo VBA je vlastne funkcia systému Windows. Podobá sa čakacia funkcia vo VBA. Používa sa na spomalenie alebo pozastavenie, alebo môžeme zastaviť beh konkrétneho kódu v určitom určenom čase. Funkcia spánku sa musí volať vo VBA, zatiaľ čo sa deklaruje v kóde. Ako to urobíme, sa naučíme v dnešnej téme.

Ako je vysvetlené vyššie, VBA Sleep je funkcia systému Windows a je prítomná v jadrovej databáze systému Windows. Metóda deklarovania a volania funkcie spánku vo VBA je odlišná pre 32-bitové operačné systémy aj 64-bitové operačné systémy. V podstate ide o funkciu rozhrania API systému Windows.

Syntax na použitie funkcie spánku VBA je nasledovná:

Spánok (čas v milisekundách)

Ak teda potrebujeme spomaliť alebo zastaviť kód na 1 sekundu, musíme ho napísať takto:

 Spať 1 000 

1000 je milión sekúnd, čo sa rovná 1 sekunde a spomalí kód na 1 sekundu. Ak chceme spomaliť kód na 5 sekúnd, kód bude:

 Spať 5 000 

Vyhlásenie o funkcii spánku je nasledovné:

 # Ak je VBA7, potom „Excel 2010 alebo novšia verejná deklarácia PtrSafe Sub Sleep Lib“ kernel32 ”(ByVal milisekundy ako LongPtr) #Else 'Excel 2007 alebo novšia verejná deklarácia Sub Sleep Lib“ kernel32 “(ByVal milisekundy sú dlhé) #End 
Poznámka: Pred použitím funkcie spánku je potrebné mať na pamäti jednu vec. Túto funkciu musíme použiť v moduloch, nie v excelentných objektoch. Použitie nástroja VBA na zabezpečenie toho, aby bola karta vývojára zapnutá na karte súbory v časti Možnosti.

Ako používať funkciu spánku Excel VBA?

Naučíme sa používať funkciu spánku VBA s niekoľkými vynikajúcimi príkladmi.

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

Funkcia spánku VBA - príklad č. 1

V tomto príklade urobíme správu, že makro sa zastaví na päť sekúnd. A presne po piatich sekundách chceme, aby sa objavila druhá správa, ktorá hovorí, že makro sa obnovilo.

Ak chcete použiť funkciu spánku v programe Excel VBA, postupujte podľa nasledujúcich krokov:

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

Krok 2: Po otvorení editora VB kliknite na kartu Vložiť a potom kliknutím na moduly vložte nový modul.

Krok 3: Teraz použite vyhlásenie a použite funkciu spánku. Pretože používam 64-bitový operačný systém Windows, použijem na to vyhlásenie.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Krok 4: Teraz deklarujte subfunkciu, aby ste mohli začať písať kód.

kód:

 Verejná deklarácia PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () End Sub 

Krok 5: Pomocou funkcie Mgsbox sa zobrazí správa, že makro bude pozastavené na päť sekúnd.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "MAcro bude pozastavený na päť sekúnd" End Sub 

Krok 6: Použite funkciu spánku na pozastavenie makra na päť sekúnd.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "MAcro bude pozastavený na päť sekúnd" Sleep 5000 End Sub 

Krok 7: Teraz použite funkciu msgbox na zobrazenie správy, že makro bolo obnovené.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "Makro bude pozastavené na päť sekúnd" Spánok 5000 MsgBox "Makro bolo obnovené" End Sub 

Krok 8: Spustite kód z poskytnutého tlačidla spustenia alebo stlačením klávesu F5 zobrazte výsledok. Vidíme, že sa zobrazí prvá správa.

Krok 9: Keď klikneme na OK a počkáme päť sekúnd, uvidíme ďalšiu správu.

Medzi oboma správami bola pauza na päť sekúnd.

Funkcia spánku VBA - príklad č. 2

Teraz urobíme v ďalšom príklade to, že mám štyri premenné A, B, C a D. Najprv chcem pridať hodnotu A a B a zobraziť ju a po 5 sekundách chcem zobraziť hodnotu pridanie A, B, C a D.

Ak chcete použiť funkciu spánku v programe Excel VBA, postupujte podľa nasledujúcich krokov:

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

Krok 2: Po otvorení editora VB kliknite na kartu Vložiť a potom kliknutím na moduly vložte nový modul.

Krok 3: Teraz použite vyhlásenie a použite funkciu spánku. Pretože používam 64-bitový operačný systém Windows, použijem na to vyhlásenie.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Krok 4: Teraz deklarujte subfunkciu, aby ste mohli začať písať kód.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () End Sub 

Krok 5: Vyhláste šesť premenných A, B, C, D, X a Y na uloženie hodnôt.

kód:

 Verejná deklarácia PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y ako Celočíselný koniec Sub 

Krok 6: Priraďte náhodným hodnotám A, B, C a D.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y ako celé číslo A = 10 B = 15 C = 20 D = 25 End Sub 

Krok 7: Uložte hodnotu A + B do X.

kód:

 Verejná deklarácia PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Vzorka1 () Dim A, B, C, D, X, Y ako celé číslo A = 10 B = 15 C = 20 D = 25 X = A + B End Sub 

Krok 8: Zobrazte hodnotu X.

kód:

 Verejná deklarácia PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Vzorka1 () Dim A, B, C, D, X, Y ako celé číslo A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X End Sub 

Krok 9: Teraz použite funkciu spánku na pauzu na päť sekúnd.

kód:

 Verejná deklarácia PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Vzorka1 () Dim A, B, C, D, X, Y ako celé číslo A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 End Sub 

Krok 10: Teraz do premennej Y uložte hodnotu X + C + D a zobrazte ju.

kód:

 Verejná deklarácia PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Vzorka1 () Dim A, B, C, D, X, Y ako celé číslo A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 Y = X + C + D MsgBox Y End Sub 

Krok 11: Spustite vyššie uvedený kód z poskytnutého spúšťacieho tlačidla alebo stlačením klávesu F5 a pozrite si výsledok. Vidíme, že prvá správa je zobrazená ako.

Krok 12: Stlačte OK a makro čaká päť sekúnd a zobrazí sa nasledujúci výsledok.

Funkcia spánku VBA - príklad č. 3

V tomto príklade chceme premenovať dva listy hárkov 1 a 2 na Anand a Aran. Čas medzi nimi by však mal byť päť sekúnd. V podstate chceme, aby sa makro po premenovaní hárka 1 a potom hárka 2 pozastavilo.

Ak chcete použiť funkciu spánku v programe Excel VBA, postupujte podľa nasledujúcich krokov:

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

Krok 2: Po otvorení editora VB kliknite na kartu Vložiť a potom kliknutím na moduly vložte nový modul.

Krok 3: Teraz použite vyhlásenie a použite funkciu spánku. Pretože používam 64-bitový operačný systém Windows, použijem na to vyhlásenie.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

Krok 4: Teraz deklarujte subfunkciu, aby ste mohli začať písať kód.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () End Sub 

Krok 5: Aktivujte list 1 a premenujte ho podľa nasledujúceho kódu:

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Pracovné hárky ("Sheet1"). Aktivácia pracovných hárkov ("Sheet1"). Názov = "Anand" MsgBox "List 1 premenovaný" End Sub 

Krok 6: Teraz použite funkciu spánku a využite oneskorenie na päť sekúnd.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Pracovné hárky ("Sheet1"). Aktivácia pracovných hárkov ("Sheet1"). Názov = "Anand" MsgBox "Sheet 1 premenovaný" Sleep 5000 End Sub 

Krok 7: Teraz premenujte hárok 2 na nasledujúci kód.

kód:

 Verejné vyhlásenie PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Pracovné hárky ("Sheet1"). Aktivácia pracovných hárkov ("Sheet1"). List2 "). Aktivujte listy (" List2 "). Meno =" Aran "MsgBox" List 2 bol premenovaný na "End Sub" 

Krok 8: Teraz spustite kód a vidíme prvú správu.

Môžeme tiež skontrolovať, či je list 1 premenovaný.

Krok 9: Stlačte ok a počkajte päť sekúnd, kým sa ďalšia správa a druhý hárok majú premenovať.

Druhý hárok sa tiež premenuje.

Čo je potrebné pamätať

  • VBA Sleep je funkcia okna, takže ak ju chcete používať, musíme používať deklarácie.
  • Existujú rôzne vyhlásenia o vyhlásení pre rôzne typy operačných systémov.
  • Jednoduché použitie VBA Sleep zmrazí makro na stanovenú dobu.
  • Časový parameter daný funkcii spánku VBA je v milisekundách.

Odporúčané články

Toto je sprievodca funkciou spánku VBA. Tu diskutujeme o tom, ako používať Excel VBA funkciu spánku 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. Funkcia VBA VLOOKUP
  2. DCOUNT Funkcia v Exceli
  3. VBA skopírovať
  4. Funkcia COMBIN v Exceli