VBA alvó funkció

Az alvás funkció a VBA-ban valójában egy Windows funkció. Hasonló a VBA funkcióhoz. Arra használják, hogy lelassítsák vagy szüneteltessék, vagy mondhatjuk, hogy egy adott kód futtatása egy meghatározott időpontra megáll. Az alvó funkciót be kell hívni a VBA-ban, miközben deklarálja azt a kódban. Hogy csináljuk ezt, megtanuljuk a mai témában.

A fentiek szerint a VBA Sleep egy Windows függvény, és jelen van a Windows rendszermag-adatbázisában. Az alvásfunkció bejelentésének és meghívásának módja a VBA-ban eltérő mind a 32 bites, mind a 64 bites operációs rendszereknél. Alapvetően egy Windows API funkció.

A VBA Sleep funkció használatához szükséges szintaxis a következő:

Alvás (idő Mili másodpercben)

Tehát ha le kell lassítanunk vagy le kell állítanunk a kódot 1 másodpercre, akkor a kódot kell így írni:

 Sleep 1000 

Az 1000 a mili másodperc, amely egyenlő 1 másodperccel, és ez 1 másodpercre lelassítja a kódot. Ha 5 másodpercre le akarjuk lassítani a kódot, akkor a következő lesz:

 Sleep 5000 

Az alvásfunkció deklarálása a következő:

 #Ha VBA7, akkor 'Excel 2010 vagy későbbi' Nyilatkozat a PtrSafe Sub Sleep Lib "kernel32" -ről (ByVal Milliseconds As LongPtr) #Else 'Excel 2007 vagy korábbi Public Deklarációs Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) #End Ha 
Megjegyzés: Az alvás funkció használata előtt egy dolgot szem előtt kell tartania. Ezt a funkciót modulokban kell használni, nem pedig az excel objektumokban. A VBA használatával ellenőrizze, hogy a fejlesztői fül be van-e kapcsolva a Beállítások szakaszban található fájlok fülön.

Hogyan kell használni az Excel VBA alvó funkciót?

Néhány példa alapján megtanuljuk a VBA alvó funkció használatát.

Itt letöltheti ezt a VBA Sleep Excel sablont - VBA Sleep Excel sablon

VBA alvó funkció - 1. példa

Amit ebben a példában fogunk tenni, az üzenet jelenik meg a felhasználó számára, hogy a makró öt másodpercre leáll. Pontosan öt másodperc után azt akarjuk, hogy megjelenjen egy második üzenet, amely szerint a makró folytatódik.

Az alvó funkció használatához kövesse az alábbi lépéseket az Excel VBA alkalmazásban:

1. lépés: Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.

2. lépés: Miután a VB szerkesztő megnyílt, kattintson a Beszúrás fülre, majd kattintson a modulokra az új modul beillesztéséhez.

3. lépés: Most használja a deklarációs nyilatkozatot az alvás funkció használatához. Mivel Windows 64 bites operációs rendszert használok, ugyanezen a deklarációs nyilatkozatot fogom használni.

Kód:

 A PtrSafe Sub Sleep Lib "kernel32" nyilvános nyilatkozata (ByVal dwMilliseconds As LongPtr) 

4. lépés: Most deklarálja az alfunkciót a kódírás elindításához.

Kód:

 Nyilvános nyilatkozat a PtrSafe Sub Sleep Lib "kernel32" -ről (ByVal dwMilliseconds As LongPtr) Alminta () Sub Sub 

5. lépés: Az Mgsbox funkcióval jelenítse meg azt az üzenetet, hogy a makró öt másodpercre szünetel.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) részminta () MsgBox "A MAcro öt másodpercre szünetelni fog" Sub Sub vége 

6. lépés: Használja az Alvás funkciót a makró szüneteltetéséhez öt másodpercre.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) részminta () MsgBox "A MAcro öt másodpercre szünetelni fog" Sleep 5000 End Sub 

7. lépés: Most használja az msgbox funkciót, hogy megjelenítse az üzenetet, hogy a makró folytatódott.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) részminta () MsgBox "A MAcro öt másodpercre szünetelni" Sleep 5000 MsgBox "Makró folytatódott" Sub befejezése 

8. lépés: Futtassa a kódot a mellékelt futtatás gombból, vagy nyomja meg az F5 billentyűt az eredmény megjelenítéséhez. Látjuk, hogy az első üzenet jelenik meg.

9. lépés: Miután rákattintunk az OK gombra és öt másodpercet várunk, újabb üzenet jelenik meg.

Mindkét üzenet között öt másodperc volt szünet.

VBA alvó funkció - 2. példa

Most egy másik példában fogunk csinálni, hogy négy változóm van A, B, C és D. Először hozzá akarom adni az A és B értékét, és megjeleníteni azt, és 5 másodperc múlva szeretném megjeleníteni a A, B, C és D hozzáadása

Az alvó funkció használatához kövesse az alábbi lépéseket az Excel VBA alkalmazásban:

1. lépés: Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.

2. lépés: Miután a VB szerkesztő megnyílt, kattintson a Beszúrás fülre, majd kattintson a modulokra az új modul beillesztéséhez.

3. lépés: Most használja a deklarációs nyilatkozatot az alvás funkció használatához. Mivel Windows 64 bites operációs rendszert használok, ugyanezen a deklarációs nyilatkozatot fogom használni.

Kód:

 A PtrSafe Sub Sleep Lib "kernel32" nyilvános nyilatkozata (ByVal dwMilliseconds As LongPtr) 

4. lépés: Most deklarálja az alfunkciót a kódírás elindításához.

Kód:

 Nyilvános nyilatkozat a PtrSafe Sub Sleep Lib "kernel32" -ről (ByVal dwMilliseconds As LongPtr) Sub Minta1 () Sub Sub 

5. lépés: Jelentsen be hat A, B, C, D, X és Y változót az értékek tárolására.

Kód:

 A PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozata1. Alminta () D, A, B, C, D, X, Y, egész számként vége Sub 

6. lépés: Adjon véletlenszerű értékeket az A, B, C és D.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozat1. Alminta () A, B, C, D, X, Y tompítása egész számként A = 10 B = 15 C = 20 D = 25 Vége Sub 

7. lépés: Tárolja az A + B értékét X-ben.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozat1. Alminta () A, B, C, D, X, Y tompa egész értéke A = 10 B = 15 C = 20 D = 25 X = A + B Befejezés Sub 

8. lépés: Jelenítse meg az X értékét.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozat1. Alminta () A, B, C, D, X, Y tompa egész értéke A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X End Sub 

9. lépés: Most használja az alvás funkciót, hogy szünetet tartson öt másodpercre.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozat1. Alminta () A, B, C, D, X, Y tompa egész értéke A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 End Sub 

10. lépés: Most az Y változóban tárolja az X + C + D értékét, és jelenítse meg.

Kód:

 PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozat1. Alminta () A, B, C, D, X, Y tompa egész értéke A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 Y = X + C + D MsgBox Y End Sub 

11. lépés: Futtassa a fenti kódot a mellékelt futtatás gombból vagy az F5 billentyű megnyomásával, és nézze meg az eredményt. Látjuk, hogy az első üzenet úgy jelenik meg, mint.

12. lépés: Nyomja meg az OK gombot, és a makró vár öt másodpercre, és megjeleníti a következő eredményt.

VBA alvó funkció - 3. példa

Ebben a példában két munkalap 1. és 2. lapját akarjuk átnevezni Anandnak és Arannak. De mindkét idõ közötti idõtartamnak öt másodpercnek kell lennie. Alapvetően azt akarjuk, hogy a makró szüneteltessen az 1. lap átnevezése után, majd átnevezze a 2. lapot. Jelenleg mindkét lapot a következőképpen nevezzük:

Az alvó funkció használatához kövesse az alábbi lépéseket az Excel VBA alkalmazásban:

1. lépés: Lépjen a Fejlesztő fülre, és kattintson a Visual Basic-re a VB szerkesztő megnyitásához.

2. lépés: Miután a VB szerkesztő megnyílt, kattintson a Beszúrás fülre, majd kattintson a modulokra az új modul beillesztéséhez.

3. lépés: Most használja a deklarációs nyilatkozatot az alvás funkció használatához. Mivel Windows 64 bites operációs rendszert használok, ugyanezen a deklarációs nyilatkozatot fogom használni.

Kód:

 A PtrSafe Sub Sleep Lib "kernel32" nyilvános nyilatkozata (ByVal dwMilliseconds As LongPtr) 

4. lépés: Most deklarálja az alfunkciót a kódírás elindításához.

Kód:

 A PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) nyilvános nyilatkozata 2. alminta () End Sub 

5. lépés: Aktiválja az 1. munkalapot, és nevezze át a következő kóddal:

Kód:

 Nyilvános nyilatkozat a PtrSafe Sub Sleep Lib "kernel32" -ről (ByVal dwMilliseconds As LongPtr) Sub Minta2 () Munkalapok ("Lap1"). Aktiválja a Munkalapokat ("Lap1"). Név = "Anand" MsgBox "Az 1. lap átnevezése:" End sub 

6. lépés: Most használja az alvás funkciót, hogy öt másodpercig késleltetést használjon.

Kód:

 Nyilvános nyilatkozat a PtrSafe Sub Sleep Lib "kernel32" -ről (ByVal dwMilliseconds As LongPtr) Sub Sample2 () Munkalapok ("Sheet1"). Aktiválja a munkalapokat ("Sheet1"). Name = "Anand" MsgBox "1. lap átnevezett" Sleep 5000 End Sub " 

7. lépés: Most nevezze át a 2. lapot a következő kóddal.

Kód:

 Nyilvános nyilatkozat a PtrSafe Sub Sleep Lib "kernel32" -ről (ByVal dwMilliseconds As LongPtr) Sub Minta2 () Munkalapok ("Lap1"). Aktiválja a Munkalapokat ("Lap1"). Name = "Anand" MsgBox "Az 1. lap átnevezése" Sleep 5000 Munkalapok "(" Sheet2 "). Aktiválja a munkalapokat (" Sheet2 "). Name =" Aran "MsgBox" 2. lap átnevezése: "End Sub 

8. lépés: Most futtassa a kódot, és látjuk, hogy az első üzenet jelenik meg.

Azt is ellenőrizhetjük, hogy az 1. lap átnevezésre került-e.

9. lépés: Nyomja meg az ok gombot, és várjon öt másodpercet, amíg a következő üzenet és a második lap átnevezésre kerül.

A második lapot is átnevezték.

Dolgok, amikre emlékezni kell

  • A VBA Sleep egy ablak funkció, ezért használatához deklarációs utasításokat kell használni.
  • Különböző deklarációs nyilatkozatok léteznek a különféle típusú operációs rendszerekre.
  • A VBA Sleep egyszerűen befagyasztja a makrót a megadott időtartamra.
  • A VBA alvásfunkcióhoz megadott időparaméter milliszekundumban van.

Ajánlott cikkek

Ez egy útmutató a VBA alvó funkcióhoz. Itt megvitatjuk az Excel VBA alvó funkció használatát, a gyakorlati példákkal és a letölthető excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. VBA VLOOKUP funkció
  2. DCOUNT függvény Excelben
  3. VBA Másolás beillesztése
  4. KOMBIN funkció Excelben

Kategória: