VBA funkcija mirovanja

Funkcija spavanja u VBA zapravo je funkcija prozora. Slično je i sa funkcijom čekanja u VBA. Koristi se za usporavanje ili zaustavljanje ili možemo reći zaustaviti pokretanje određenog koda do određenog vremena. Funkciju mirovanja potrebno je pozvati u VBA dok je deklarirate u kodu. Kako ćemo to učiniti naučit ćemo u današnjoj temi.

Kao što je gore objašnjeno, VBA Sleep je funkcija prozora i prisutan je u jezgri baze podataka prozora. Način deklariranja i pozivanja funkcije spavanja u VBA različit je za 32-bitna operativna i 64-bitna operativna sustava. U osnovi je Windows API funkcija.

Sintaksa za korištenje funkcije VBA Sleep je sljedeća:

Spavanje (vrijeme u Mili sekundi)

Dakle, ako moramo usporiti ili zaustaviti kod na 1 sekundu, moramo ga napisati kao:

 Spavanje 1000 

1000 je mili sekundi što iznosi 1 sekundu i usporit će kod za 1 sekundu. Ako želimo usporiti kod na 5 sekundi, kôd će biti:

 Spavanje 5000 

Deklaracija za funkciju spavanja je sljedeća:

 #If VBA7 Zatim 'Excel 2010 ili noviji javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal milisekunde kao LongPtr) #Else' Excel 2007 ili stariji Public Declare Sub Sleep Lib "kernel32" (ByVal milisekunde koliko dugo) #End 
Napomena: Prije korištenja funkcije spavanja moramo imati na umu. Moramo koristiti ovu funkciju u modulima, a ne u objektima excela. Da biste koristili VBA kako biste osigurali da je kartica razvojnog programera uključena na kartici datoteke u odjeljku s opcijama.

Kako koristiti funkciju spavanja Excel VBA?

Naučit ćemo kako koristiti VBA Sleep funkciju s nekoliko primjera u excelu.

Ovdje možete preuzeti ovaj VBA predložak za Sleep Excel ovdje - VBA predložak za spavanje u snu

VBA funkcija mirovanja - Primjer # 1

Ono što ćemo učiniti u ovom primjeru jest da ćemo iskočiti poruku korisniku da će se makro zaustaviti na pet sekundi. I točno nakon pet sekundi želimo da se pojavi druga poruka koja kaže da je makronastavljen.

Slijedite dolje navedene korake za upotrebu funkcije mirovanja u Excelu VBA:

Korak 1: Otvorite karticu Developer i kliknite na Visual Basic da biste otvorili VB uređivač.

Korak 2: Nakon otvaranja VB Editor-a kliknite na Insert Tab, a zatim kliknite na module da biste umetnuli novi modul.

Korak 3: Sada koristite izjavu deklaracije za upotrebu funkcije mirovanja. Kako koristim Windows 64-bitni operativni sustav koristit ću izjavu za istu.

Kodirati:

 Javno izjaviti PtrSafe pomoćni program za uspavljivanje "kernel32" (ByVal dwMilliseconds As LongPtr) 

Korak 4: Sada prijavite potfunkciju za početak pisanja koda.

Kodirati:

 Javno izjavite PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kao LongPtr) Sub Uzorak () End Sub 

Korak 5: Upotrijebite Mgsbox funkciju za prikaz poruke da će makronaredba pauzirati pet sekundi.

Kodirati:

 Javno izjaviti PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Uzorak () MsgBox "MAcro će biti pauziran na pet sekundi" End Sub 

Korak 6: Upotrijebite funkciju mirovanja da biste makro zaustavili na pet sekundi.

Kodirati:

 Javno izjaviti PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Uzorak () MsgBox "MAcro će biti pauziran na pet sekundi" Sleep 5000 End Sub 

Korak 7: Sada koristite funkciju msgbox za prikaz poruke da je makronaredba nastavljena.

Kodirati:

 Javno izjaviti PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Uzorak () MsgBox "MAcro će biti pauziran pet sekundi" Sleep 5000 MsgBox "Makronaredba je nastavljena" End Sub 

Korak 8: Pokrenite kôd s priloženog gumba za pokretanje ili pritisnite F5 da biste vidjeli rezultat. Vidimo da se prikazuje prva poruka.

Korak 9: Jednom kada kliknemo Ok i čekamo pet sekundi vidimo drugu poruku.

Između obje poruke nastala je pauza od pet sekundi.

VBA funkcija mirovanja - primjer br. 2

Ono što ćemo napraviti u drugom primjeru jest da imam četiri varijable A, B, C i D. Prvo, želim dodati vrijednosti A i B i prikazati je, a nakon 5 sekundi želim prikazati vrijednost dodavanje A, B, C i D.

Slijedite dolje navedene korake za upotrebu funkcije mirovanja u Excelu VBA:

Korak 1: Otvorite karticu Developer i kliknite na Visual Basic da biste otvorili VB uređivač.

Korak 2: Nakon otvaranja VB Editor-a kliknite na Insert Tab, a zatim kliknite na module da biste umetnuli novi modul.

Korak 3: Sada koristite izjavu deklaracije za upotrebu funkcije mirovanja. Kako koristim Windows 64-bitni operativni sustav koristit ću izjavu za istu.

Kodirati:

 Javno izjaviti PtrSafe pomoćni program za uspavljivanje "kernel32" (ByVal dwMilliseconds As LongPtr) 

Korak 4: Sada prijavite potfunkciju za početak pisanja koda.

Kodirati:

 Javno izjavite PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () End Sub 

Korak 5: Proglasite šest varijabli A, B, C, D, X i Y za spremanje vrijednosti.

Kodirati:

 Javno izjavite PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y kao cjeloviti kraj Sub 

Korak 6: Dajte nasumičnim vrijednostima A, B, C i D.

Kodirati:

 Javno izjavite PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kao dugačakPtr) Sub Uzorak1 () Dim A, B, C, D, X, Y Kao cijeli broj A = 10 B = 15 C = 20 D = 25 Kraj Sub 

Korak 7: Spremite vrijednost A + B u X.

Kodirati:

 Javno izjavite da je PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPtr) Sub uzorak1 () Dim A, B, C, D, X, Y kao cijeli broj A = 10 B = 15 C = 20 D = 25 X = A + B Kraj Sub 

Korak 8: Prikažite vrijednost X.

Kodirati:

 Javno izjavite da je PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPtr) Sub uzorak1 () Dim A, B, C, D, X, Y kao cijeli broj A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Kraj Sub 

9. korak: Sada pomoću funkcije mirovanja napravite stanku od pet sekundi.

Kodirati:

 Javno izjavite da je PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPtr) Sub uzorak1 () Dim A, B, C, D, X, Y kao cijeli broj A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 Kraj Sub 

Korak 10: Sada u varijablu Y pohranite vrijednost X + C + D i prikažite je.

Kodirati:

 Javno izjavite da je PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPtr) Sub uzorak1 () Dim A, B, C, D, X, Y kao cijeli broj A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 Y = X + C + D MsgBox Y Kraj Pot 

Korak 11: Pokrenite gornji kôd s priloženog gumba za pokretanje ili pritiskom na tipku F5 i pogledajte rezultat. Vidimo da se prva poruka prikazuje kao.

12. korak: Pritisnite OK i makronaredba čeka pet sekundi i prikaže sljedeći rezultat.

VBA funkcija mirovanja - Primjer # 3

U ovom primjeru želimo list dva radna lista 1 i list 2 preimenovati u Anand i Aran. Ali vrijeme između oba bi trebalo biti pet sekundi. U osnovi želimo da makronaredba pauzira nakon preimenovanja lista 1, a zatim preimenuje list 2. Trenutno su oba lista imenovana na sljedeći način:

Slijedite dolje navedene korake za upotrebu funkcije mirovanja u Excelu VBA:

Korak 1: Otvorite karticu Developer i kliknite na Visual Basic da biste otvorili VB uređivač.

Korak 2: Nakon otvaranja VB Editor-a kliknite na Insert Tab, a zatim kliknite na module da biste umetnuli novi modul.

Korak 3: Sada koristite izjavu deklaracije za upotrebu funkcije mirovanja. Kako koristim Windows 64-bitni operativni sustav koristit ću izjavu za istu.

Kodirati:

 Javno izjaviti PtrSafe pomoćni program za uspavljivanje "kernel32" (ByVal dwMilliseconds As LongPtr) 

Korak 4: Sada prijavite potfunkciju za početak pisanja koda.

Kodirati:

 Javno izjaviti PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () End Sub 

5. korak: Aktivirajte radni list 1 i preimenovajte ga sljedećim kodom:

Kodirati:

 Javno izjavite da je PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPtr) Pod uzorkom2 () Radni listovi ("Sheet1"). Aktivirajte radne listove ("Sheet1"). Name = "Anand" MsgBox "Sheet 1 preimenovan u" End Sub 

Korak 6: Sada koristite funkciju mirovanja da biste iskoristili kašnjenje pet sekundi.

Kodirati:

 Javno izjavite da PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPt) Pod uzorak2 () Radni listovi ("Sheet1"). Aktivirajte radne listove ("Sheet1"). 

Korak 7: Preimenujte list 2 slijedećim kodom.

Kodirati:

 Javno izjavite da je PtrSafe pomoćni režim mirovanja "kernel32" (ByVal dwMillisekunde kao dugačakPt) Pod uzorak2 () Radni listovi ("Sheet1"). Aktivirajte radne listove ("Sheet1"). Sheet2 "). Aktivirajte radne listove (" Sheet2 "). Name =" Aran "MsgBox" Sheet 2 je preimenovan u "End Sub 

Korak 8: Sada pokrenite kôd i vidimo da se prikazuje prva poruka.

Također, možemo provjeriti je li list 1 preimenovan.

Korak 9: Pritisnite ok i pričekajte pet sekundi da sljedeću poruku i drugi list preimenujete.

Drugi list je također preimenovan.

Stvari koje treba zapamtiti

  • VBA Sleep je funkcija prozora, tako da za upotrebu treba koristiti izjave deklaracije.
  • Postoje različite izjave o deklaracijama za različite vrste operativnih sustava.
  • Jednostavnim korištenjem VBA Sleep zamrzava se makronaredba u predviđenom vremenu.
  • Vremenski parametar dodijeljen VBA funkciji mirovanja je u milisekundama.

Preporučeni članci

Ovo je vodič o VBA funkciji mirovanja. Ovdje smo razgovarali o tome kako koristiti Excel VBA funkciju spavanja uz praktične primjere i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. VBA VLOOKUP funkcija
  2. DCOUNT funkcija u Excelu
  3. VBA zalijepi za kopiranje
  4. COMBIN funkcija u Excelu

Kategorija: