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 HaMegjegyzé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 sablonVBA 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 -
- VBA VLOOKUP funkció
- DCOUNT függvény Excelben
- VBA Másolás beillesztése
- KOMBIN funkció Excelben