Funkcija spanja VBA

Funkcija spanja v VBA je pravzaprav funkcija Windows. Podobno je s funkcijo čakanja v VBA. Uporablja se za upočasnitev ali pavzo ali pa lahko rečemo, da do določenega časa ustavimo določeno kodo. Funkcijo spanja je treba poklicati v VBA, medtem ko jo izjavite v kodi. Kako to storimo, bomo izvedeli v današnji temi.

Kot je razloženo zgoraj, VBA Sleep je funkcija okna in je prisotna v jedrni bazi Windows. Način razglasitve in klicanja funkcije spanja v VBA je različen tako za 32-bitne operacijske sisteme kot za 64-bitne operacijske sisteme. V bistvu gre za funkcijo Windows API.

Sintaksa za uporabo funkcije VBA Sleep je naslednja:

Spanje (čas v mili sekundah)

Če moramo kodo upočasniti ali zaustaviti za 1 sekundo, jo moramo zapisati kot:

 Spanja 1000 

1000 je milijon sekund, kar je enako 1 sekundi, in bo upočasnilo kodo za 1 sekundo. Če želimo kodo upočasniti za 5 sekund, bo koda:

 Spanja 5000 

Deklaracija za funkcijo spanja je naslednja:

 #If VBA7 Nato 'Excel 2010 ali novejša javna razglasitev PtrSafe Sub Sleb Lib "kernel32" (ByVal Milisekunde kot LongPtr) #Else' Excel 2007 ali starejši Javni Izjavi Sub Sleep Lib "kernel32" (ByVal milisekunde kot dolgo) #End 
Opomba: Pred uporabo funkcije spanja moramo imeti v mislih eno stvar. To funkcijo moramo uporabljati v modulih, ne v predmetih excela. Če želite uporabiti VBA za zagotovitev, da je zavihek razvijalca vklopljen z zavihka datoteke v razdelku z možnostmi.

Kako uporabljati funkcijo spanja Excel VBA?

Naučili se bomo uporabljati funkcijo spanja VBA z nekaj primeri v excelu.

To predlogo VBA Sleep Excel lahko prenesete tukaj - VBA Predloga za spanje v Excelu

Funkcija spanja VBA - Primer 1

V tem primeru bomo naredili sporočilo, da se bo makro ustavil za pet sekund. In točno po petih sekundah želimo, da se prikaže drugo sporočilo, ki pravi, da se je makro nadaljeval.

Za uporabo funkcije mirovanja v Excelu VBA sledite spodnjim korakom:

1. korak: Pojdite na zavihek Developer in kliknite na Visual Basic, da odprete VB Editor.

Korak 2: Ko je odprt urejevalnik VB, kliknite Vstavi zavihek in nato na module, da vstavite nov modul.

3. korak: Zdaj uporabite deklaracijsko izjavo za uporabo funkcije spanja. Ker uporabljam Windows 64-bitni operacijski sistem, bom za isto uporabil izjavo o deklaraciji.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot LongPtr) 

4. korak: Zdaj prijavite podfunkcijo, da začnete pisati kodo.

Koda:

 Javno razglasi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot LongPtr) Pod vzorec () End Sub 

5. korak: Uporabite funkcijo Mgsbox, da prikažete sporočilo, da bo makro začasno ustavljen pet sekund.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec () MsgBox "MAcro bo začasno ustavljen pet sekund" End Sub 

6. korak: Uporabite funkcijo mirovanja, da začasno zaustavite makro za pet sekund.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec () MsgBox "MAcro bo začasno ustavljen pet sekund" Sleep 5000 End Sub 

Korak 7: Zdaj uporabite funkcijo msgbox, da prikažete sporočilo, da se je makro ponovno začel.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec () MsgBox "MAcro bo začasno ustavljen pet sekund" Sleep 5000 MsgBox "Makro je nadaljeval" End Sub 

8. korak: Zaženite kodo s priloženega gumba za zagon ali pritisnite F5, da vidite rezultat. Vidimo, da se prikaže prvo sporočilo.

9. korak: Ko kliknemo OK in počakamo pet sekund, se prikaže drugo sporočilo.

Med obema sporočili je bila pet sekund premor.

Funkcija spanja VBA - primer # 2

Kar bomo naredili v drugem primeru, je to, da imam štiri spremenljivke A, B, C in D. Najprej želim dodati vrednost A in B ter prikazati in čez 5 sekund želim prikazati vrednost dodajanje A, B, C in D.

Za uporabo funkcije mirovanja v Excelu VBA sledite spodnjim korakom:

1. korak: Pojdite na zavihek Developer in kliknite na Visual Basic, da odprete VB Editor.

Korak 2: Ko je odprt urejevalnik VB, kliknite Vstavi zavihek in nato na module, da vstavite nov modul.

3. korak: Zdaj uporabite deklaracijsko izjavo za uporabo funkcije spanja. Ker uporabljam Windows 64-bitni operacijski sistem, bom za isto uporabil izjavo o deklaraciji.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot LongPtr) 

4. korak: Zdaj prijavite podfunkcijo, da začnete pisati kodo.

Koda:

 Javno razglasi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot LongPtr) Sub Sample1 () End Sub 

5. korak: Za shranjevanje vrednosti prijavite šest spremenljivk A, B, C, D, X in Y.

Koda:

 Javno razglasi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Sub Sample1 () Dim A, B, C, D, X, Y kot celoten konec Sub 

6. korak: Naključne vrednosti dajte A, B, C in D.

Koda:

 Javno razglasi PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekunde kot dolgaPtr) Pod vzorec1 () Dim A, B, C, D, X, Y kot celoten A = 10 B = 15 C = 20 D = 25 konec Sub 

7. korak: vrednost A + B shranite v X.

Koda:

 Javno razglasite PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec1 () Dim A, B, C, D, X, Y kot celoten A = 10 B = 15 C = 20 D = 25 X = A + B Končni pod 

8. korak: Prikažite vrednost X.

Koda:

 Javno razglasite PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec1 () Dim A, B, C, D, X, Y kot celoten A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X End Sub 

9. korak: Zdaj uporabite funkcijo mirovanja, da imate pet sekund premor.

Koda:

 Javno razglasite PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec1 () Dim A, B, C, D, X, Y kot celoten A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 End Sub 

Korak 10: Zdaj v spremenljivki Y shranite vrednost X + C + D in jo prikažite.

Koda:

 Javno razglasite PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec1 () Dim A, B, C, D, X, Y kot celoten A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 Y = X + C + D MsgBox Y End Sub 

11. korak: Zgornjo kodo zaženite s priloženim gumbom za zagon ali s pritiskom na tipko F5 in si oglejte rezultat. Vidimo, da je prvo sporočilo prikazano kot.

12. korak: Pritisnite OK in makro počaka pet sekund in prikaže naslednji rezultat.

Funkcija spanja VBA - primer # 3

V tem primeru želimo list prvega dela 1 in list 2 preimenovati v Anand oziroma Aran. Čas trajanja med obema pa naj bo pet sekund. V bistvu želimo, da se makro preklopi po preimenovanju lista 1 in nato preimenuje list 2. Trenutno sta oba lista poimenovana, kot sledi:

Za uporabo funkcije mirovanja v Excelu VBA sledite spodnjim korakom:

1. korak: Pojdite na zavihek Developer in kliknite na Visual Basic, da odprete VB Editor.

Korak 2: Ko je odprt urejevalnik VB, kliknite Vstavi zavihek in nato na module, da vstavite nov modul.

3. korak: Zdaj uporabite deklaracijsko izjavo za uporabo funkcije spanja. Ker uporabljam Windows 64-bitni operacijski sistem, bom za isto uporabil izjavo o deklaraciji.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot LongPtr) 

4. korak: Zdaj prijavite podfunkcijo, da začnete pisati kodo.

Koda:

 Javno izjavi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot LongPtr) Sub Sample2 () End Sub 

5. korak: Aktivirajte delovni list 1 in ga preimenujte z naslednjo kodo:

Koda:

 Javno razglasi PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Sub Sample2 () Delovni listi ("Sheet1"). Aktivirajte delovne liste ("Sheet1"). 

6. korak: Zdaj uporabite funkcijo spanja, da pet sekund uporabite zamudo.

Koda:

 Javno razglasi PtrSafe Sub Sleb Lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec2 () Delovni listi ("Sheet1"). 

7. korak: Zdaj preimenujte list 2 z naslednjo kodo.

Koda:

 Javno razglasi PtrSafe Pod spalni lib "kernel32" (ByVal dwMillisekunde kot dolgPtr) Pod vzorec2 () Delovni listi ("Sheet1"). Aktivirajte delovne liste ("Sheet1"). Sheet2 "). Aktivirajte delovne liste (" Sheet2 "). Name =" Aran "MsgBox" Sheet 2 je preimenovan v "End Sub 

8. korak: Zdaj zaženite kodo in vidimo, da se prikaže prvo sporočilo.

Prav tako lahko preverimo, ali je list 1 preimenovan.

9. korak: Pritisnite OK in počakajte pet sekund, da se naslednje sporočilo in drugi list preimenujeta.

Drugi list se tudi preimenuje.

Stvari, ki jih je treba zapomniti

  • VBA Sleep je funkcija okna, zato za uporabo potrebujemo izjave deklaracije.
  • Za različne vrste operacijskih sistemov obstajajo različne izjave o deklaracijah.
  • Preprosta uporaba VBA Sleep zamrzne makro za določeno časovno obdobje.
  • Časovni parameter, dan funkciji spanja VBA, je v milisekundah.

Priporočeni članki

To je vodnik za funkcijo spanja VBA. Tukaj smo razpravljali o tem, kako uporabljati funkcijo spanja Excel VBA skupaj s praktičnimi primeri in naloženo predlogo Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. VBA VLOOKUP funkcija
  2. DCOUNT funkcija v Excelu
  3. VBA Kopiraj prilepi
  4. Funkcija COMBIN v Excelu

Kategorija: