VBA unerežiim

Unerežiimi funktsioon VBA-s on tegelikult Windowsi funktsioon. See on sarnane ootamisfunktsiooniga VBA-s. Seda kasutatakse aeglustamiseks või pauside tegemiseks või võime öelda, et teatud koodi käivitamine teatud aja jooksul peatub. UBA-funktsiooni tuleb koodis deklareerides kutsuda VBA-sse. Kuidas me seda teeme, õpime tänases teemas.

Nagu eespool selgitatud, on VBA Sleep Windowsi funktsioon ja see on Windowsi kerneli andmebaasis. Unefunktsiooni deklareerimise ja helistamise meetod VBA-s erineb nii 32-bitise kui ka 64-bitise opsüsteemi korral. Põhimõtteliselt on see Windowsi API funktsioon.

VBA puhkefunktsiooni kasutamise süntaks on järgmine:

Uni (aeg Mili sekundites)

Nii et kui meil on vaja koodi 1 sekundiks aeglustada või peatada, peame koodi kirjutama järgmiselt:

 Magama 1000 

1000 on miljon sekundit, mis võrdub 1 sekundiga ja see aeglustab koodi 1 sekundi jooksul. Kui tahame koodi 5 sekundiks aeglustada, on see järgmine:

 Uni 5000 

Unefunktsiooni deklaratsioon on järgmine:

 #Kui VBA7, siis 'Excel 2010 või hilisem avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr) #Else' Excel 2007 või varasem avalik deklareering Sub Sleep Lib "kernel32" (ByVal Milliseconds As Long) #End If 
Märkus. Enne unerežiimi kasutamist on üks asi, mida peame meeles pidama. Me peame seda funktsiooni kasutama moodulites, mitte exceli objektides. VBA kasutamine selle tagamiseks, et arendaja vahekaart oleks sisse lülitatud suvandite jaotises failid.

Kuidas kasutada Exceli VBA puhkefunktsiooni?

Õpime kasutama VBA unerežiimi funktsiooni koos mõne näitega Excelist.

Selle VBA Sleep Exceli malli saate alla laadida siit - VBA Sleep Exceli mall

VBA unerežiim - näide # 1

Selles näites kavatseme kuvada kasutajale teate, et makro peatub viieks sekundiks. Ja täpselt viie sekundi pärast tahame, et ilmuks teine ​​teade, kus öeldakse, et makro on taastatud.

Unefunktsiooni kasutamiseks Excel VBA-s toimige järgmiselt.

1. samm: minge vahekaardile Arendaja ja klõpsake VB redigeerija avamiseks nuppu Visual Basic .

2. samm: Kui VB-redaktor on avatud, klõpsake vahekaardil Lisa ja seejärel klõpsake moodulite lisamiseks uut moodulit.

3. samm: unerežiimi funktsiooni kasutamiseks kasutage nüüd deklaratsiooni avaldust. Kuna kasutan Windowsi 64-bitist opsüsteemi, siis kasutan sama deklaratsiooni avaldust.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

4. samm: kuulutage koodi kirjutamiseks alamfunktsioon.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov () End Sub 

5. samm: kasutage funktsiooni Mgsbox, et kuvada teade, et makro peatatakse viieks sekundiks.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov () MsgBox "MAcro peatatakse viieks sekundiks" End Sub 

6. samm: makro peatamiseks viieks sekundiks kasutage unerežiimi funktsiooni.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov () MsgBox "MAcro peatatakse viieks sekundiks" Sleep 5000 End Sub 

7. samm. Nüüd kasutage funktsiooni msgbox, et kuvada makro taastamise teade.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample () MsgBox "MAcro peatatakse viieks sekundiks" Sleep 5000 MsgBox "Makro on taastatud" End Sub 

8. samm: käivitage kood kaasasolevalt käivitusnupult või vajutage tulemuse nägemiseks nuppu F5. Näeme, et esimene teade kuvatakse.

9. samm: kui klõpsame nuppu OK ja ootame viis sekundit, näeme uut teadet.

Mõlema teate vahel oli viieks sekundiks paus.

VBA unerežiim - näide nr 2

Järgmises näites teeme seda, et mul on neli muutujat A, B, C ja D. Esiteks tahan lisada A ja B väärtused ja kuvada need ning 5 sekundi pärast tahan kuvada A, B, C ja D lisamine

Unefunktsiooni kasutamiseks Excel VBA-s toimige järgmiselt.

1. samm: minge vahekaardile Arendaja ja klõpsake VB redigeerija avamiseks nuppu Visual Basic .

2. samm: Kui VB-redaktor on avatud, klõpsake vahekaardil Lisa ja seejärel klõpsake moodulite lisamiseks uut moodulit.

3. samm: unerežiimi funktsiooni kasutamiseks kasutage nüüd deklaratsiooni avaldust. Kuna kasutan Windowsi 64-bitist opsüsteemi, siis kasutan sama deklaratsiooni avaldust.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

4. samm: kuulutage koodi kirjutamiseks alamfunktsioon.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov1 () End Sub 

5. samm: väärtuste salvestamiseks kuulutage kuus muutujat A, B, C, D, X ja Y.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov1 () Dim A, B, C, D, X, Y kui täisarv End Sub 

6. samm: andke punktidele A, B, C ja D juhuslikud väärtused.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample1 () Dim A, B, C, D, X, Y täisarvuna A = 10 B = 15 C = 20 D = 25 End Sub 

7. samm: salvestage A + B väärtus X-i.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov1 () Dim A, B, C, D, X, Y täisarvuna A = 10 B = 15 C = 20 D = 25 X = A + B Lõpu alam 

8. samm: kuvage väärtuse X väärtus.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov1 () Dim A, B, C, D, X, Y täisarvuna A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X lõpp - alam 

9. samm. Nüüd kasutage unerežiimi funktsiooni, et teha viieks sekundiks paus.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov1 () Dim A, B, C, D, X, Y täisarvuna A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 lõpp-alam 

10. samm: salvestage muutuja Y korral X + C + D väärtus ja kuvage see.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov1 () Dim A, B, C, D, X, Y täisarvuna A = 10 B = 15 C = 20 D = 25 X = A + B MsgBox X Sleep 5000 Y = X + C + D MsgBox Y End Sub 

11. samm: käivitage ülaltoodud kood kaasasolevalt käivitusnupult või vajutades klahvi F5 ja näete tulemust. Näeme, et esimene teade kuvatakse kujul.

12. samm: vajutage nuppu OK ja makro ootab viis sekundit ning kuvatakse järgmine tulemus.

VBA unerežiim - näide # 3

Selles näites tahame nimetada kaks töölehe lehte 1 ja lehte 2 vastavalt Anandiks ja Araniks. Kuid ajavahemik mõlema vahel peaks olema viis sekundit. Põhimõtteliselt tahame, et makro peataks pärast lehe 1 ümbernimetamist ja seejärel nimetaks leht 2. Nimeks nimetatakse mõlemat lehte järgmiselt:

Unefunktsiooni kasutamiseks Excel VBA-s toimige järgmiselt.

1. samm: minge vahekaardile Arendaja ja klõpsake VB redigeerija avamiseks nuppu Visual Basic .

2. samm: Kui VB-redaktor on avatud, klõpsake vahekaardil Lisa ja seejärel klõpsake moodulite lisamiseks uut moodulit.

3. samm: unerežiimi funktsiooni kasutamiseks kasutage nüüd deklaratsiooni avaldust. Kuna kasutan Windowsi 64-bitist opsüsteemi, siis kasutan sama deklaratsiooni avaldust.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 

4. samm: kuulutage koodi kirjutamiseks alamfunktsioon.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) alamproov2 () lõpp sub 

5. samm: aktiveerige tööleht 1 ja nimetage see järgmise koodiga ümber:

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () töölehed ("Sheet1"). Aktiveerige töölehed ("Sheet1"). Name = "Anand" MsgBox "1. leht nimetatakse ümber" End Sub 

6. samm: kasutage nüüd unerežiimi funktsiooni, et kasutada viivitust viieks sekundiks.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () töölehed ("Sheet1"). Aktiveerige töölehed ("Sheet1"). Name = "Anand" MsgBox "1. leht nimetatakse ümber" Sleep 5000 End Sub 

7. toiming: nimetage leht 2 ümber järgmise koodiga.

Kood:

 Avalik deklaratsioon PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) Sub Sample2 () töölehed ("Sheet1"). Aktiveerige töölehed ("Sheet1"). Name = "Anand" MsgBox "1. leht nimetatakse ümber" Sleep 5000 Worksheets (" Sheet2 "). Aktiveerige töölehed (" Sheet2 "). Name =" Aran "MsgBox" Sheet 2 muudeti ümber "End Sub 

8. samm: käivitage nüüd kood ja näeme, et kuvatakse esimene teade.

Samuti saame kontrollida, kas leht 1 on ümber nimetatud.

9. samm: vajutage ok ja oodake viis sekundit, kuni järgmine teade ja teine ​​leht saavad ümber nimetada.

Teine leht on ka ümber nimetatud.

Asjad, mida meeles pidada

  • VBA puhkeolek on aknafunktsioon, nii et selle kasutamiseks peame kasutama deklaratsiooni avaldusi.
  • Erinevat tüüpi opsüsteemide jaoks on erinevad deklaratsioonilaused.
  • VBA unerežiimi kasutamine lihtsalt külmutab makro ettenähtud aja jooksul.
  • VBA puhkefunktsioonile antud ajaparameeter on millisekundites.

Soovitatavad artiklid

See on VBA puhkefunktsiooni juhend. Siin arutatakse, kuidas kasutada Exceli VBA puhkefunktsiooni koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA VLOOKUP funktsioon
  2. DCOUNT funktsioon Excelis
  3. VBA koopiapasta
  4. KOMBIN-funktsioon Excelis

Kategooria: