Exceli VBA paus loopi jaoks

VBA-pausi kasutatakse siis, kui tahame väljuda või katkestada pideva ahela, millel on teatud fikseeritud kriteeriumid. Kuna silmus on ulatusvahemikus, määratleb avaldused, mida täidetakse kindla aja jooksul korduvalt. Mõnikord, kui kasutame VBA-s mingeid silmuse tingimusi, juhtub sageli, et kood töötab ilma lõpu või katkestuseta. Sellise olukorra vältimiseks on soovitatav kasutada mõningaid pause või väljumisfunktsioone, mille abil saame väljuda silmusest makro mõõdetava väljundiga.

Kuidas kasutada Exceli VBA pausi loopi jaoks?

Õpime, kuidas VBA-pausi Loopi jaoks kasutada, koos mõne näitega Excelis.

Selle VBA pausi Loop Exceli malli saate alla laadida siit - VBA pausi Loopi Exceli malli jaoks

Näide nr 1 - VBA paus silmuse jaoks

Näeme näidet, kus For- silmuse kasutamisel ei rikuta kriteeriume. Kuid selle parandamiseks kasutame If-End silmust. Selleks vajame moodulit, kuhu me selle koodi kirjutame.

Kui soovite rakenduses Excel VBA kasutada Break for Loop'i, toimige järgmiselt.

1. samm: avage uus moodul, minge VBA aknasse ja valige menüü Lisamine menüüst Moodul.

2. samm: see viib meid VBA uude moodulisse. Kirjutage selles moodulis alamkategooria VBA Break For Loopi nimele või mõnda muusse nime, mis selle tähenduse määratleb.

Kood:

 Alam VBABreak1 () lõpp Alam 

3. samm: määratlege DIM iga tähestiku või sõnana. See annab sellele identiteedi. Kasutame siin tähestikku “A”.

Kood:

 Alam VBABreak1 () Hämardada lõpp 

4. samm: määrake see täisarvuna, mida kasutatakse ainult numbrite jaoks, nagu allpool näidatud.

Kood:

 Alam VBABreak1 () Hämardatakse täisarvuna Lõpp-alam 

5. samm: määrake täisarv A. arvuline väärtus. Ütleme, et see on 10, nagu allpool näidatud.

Kood:

 Alam VBABreak1 () Hämardatakse täisarvuna A = 10 lõpp-alam 

6. samm: alustage silmuse For jaoks ja kaaluge A. algväärtust. Parem on võtta see väärtus nullina. See muutub arvutamiseks lihtsaks.

Kood:

 Alam VBABreak1 () Hämardage täisarvuna A = 10 A = 0 kuni 2. toiminguni Sub alam 

7. samm. Ja A-sse salvestatud väärtuse printimiseks kasutame sõnumikasti, mis selle väärtuse toob. Võite kasutada ka ükskõik millist lauset, et muuta sõnumikasti sisukamaks, mis on valikuline. Oleme seda kasutanud, nagu allpool näidatud.

Kood:

 Alam VBABreak1 () Hämardatakse A täisarvuna A = 10 A = 0 kuni 2. etapini MsgBox ("Väärtus A on:" & A) Järgmine lõpp Alam 

8. samm: Nüüd kompileerige kood funktsiooniklahvi F8 abil samm-sammult ja käivitage pärast seda kood, klõpsates nuppu Esita, nagu allpool näidatud. Näeme, et igal sammul on väljund vahemikus 0 kuni 10 astmevahega 2, nagu allpool näidatud.

9. samm: sulgege lõpuks For Loop ja kasutage lõpus ka Next . Kui kasutame koodis numbreid, kasutatakse nuppu „Järgmine”.

Kood:

 Alam VBABreak1 () Hämardatakse A täisarvuna A = 10 A = 0 kuni 2. etapini MsgBox ("Väärtus on A": & A) Järgmise lõpu alammenüü 

10. samm: see näitab, et silmus pole täielik ja For loop-ist väljumiseks peame täitma ka väljumiskriteeriumid. Ja selleks kasutame If-End Loop tingimust. Nii et kaaluge sama täisarvu A jaoks silmuse If kirjutamist. Siin valige limiit, kuni soovite silmuse käivitada. Oleme seda pidanud 4-ks.

Kood:

 Alam VBABreak1 () Hämardatakse A täisarvuna A = 10 A = 0 kuni 2. etapini MsgBox ("Väärtus on A:" & A) Kui A = 4, siis väljuge järgmise lõpu alammenüü jaoks 

11. samm: lisame nüüd veel ühe kriteeriumi, milles me kasutame, mitu korda see korrutatakse mis tahes arvuga. Ütleme, et see on 10. Võite 10 asemel valida mõne muu numbri. Kuid 10 kasutamisega on korrutussilmus arusaadav.

Kood:

 Alam VBABreak1 () Hämardatakse A täisarvust A = 10 A = 0 kuni 2. etapini MsgBox ("Väärtus on A on:" & A) Kui A = 4, siis A = A * 10 Välju järgmise lõpu alammenüü jaoks 

12. samm: kasutage jälle nimesõnumikasti, nagu oleme kasutanud For Loopi jaoks, ja lõpuks sulgege käsk If Loop with End if, nagu allpool näidatud.

Kood:

 Alam VBABreak1 () Hämardatakse A kui täisarv A = 10 A = 0 kuni 2. sammuni MsgBox ("Väärtus on A on:" & A) Kui A = 4 Siis A = A * 10 MsgBox ("Väärtus on A on : "& A) Exit for End, kui järgmine lõpp Sub 

13. samm: uuesti kompileerige kood ja käivitage see. Loop jaoks algab väärtuse 0 teate kuvamine, seejärel 2, 4 ja lõpeb see 40. Mis tähendab, et Loop läks 3. iteratsiooni korral katki ja võttis viimase väärtuse 40.

Näide nr 2 - VBA paus silmuse jaoks

Selles näites rakendame rakendust For loop ja näeme, kuidas silmus katkestada, kui see vastab kriteeriumidele.

1. samm: avage uus moodul menüüst Insert (Lisa) ja andke sellele alamkategooria suvalise nimega või paremaga järjestikku, nagu allpool näidatud.

Kood:

 Alam VBABreak2 () lõpp Alam 

2. samm: määratlege DIM A täisarvuna. Funktsiooni Integer kasutamine võimaldab meil koodi kiiremini rakendada ja silumist on lihtne.

Kood:

 Alam VBABreak2 () Hämardatakse täisarvuna Lõpp-alam 

3. samm: alustage määratud täisarvu jaoks silmus ja andke sellele vahemik mis tahes ridade arvust alates 1. Oleme valinud kuni 20.

Kood:

 Alam VBABreak2 () timmib täisarvuna A = 1 kuni 20 lõppu alammenüü 

4. samm: andke nüüd vahemik või koht, kust numbreid järjest trükitakse. Kasutasime rakendust ThisWorkBook praeguse avatud faili valimiseks ja töölehti (1) avatud töövihiku esimese lehe valimiseks, nagu allpool näidatud. Nüüd silmuse For sulgemiseks kirjutage lõppu järgmine, nagu allpool näidatud.

Kood:

 Alam VBABreak2 () hämardatakse A täisarvuga A = 1 kuni 20 selle tööraamatu jaoks. Töölehed (1) .Kärjed (A, 1) = Järgmine lõpp 

5. samm: käivitage ülaltoodud kood käsitsi või kiirklahvi F5 abil. Näeme, et kood on andnud numbrite arvu vahemikus 1 kuni 20.

6. samm: silmuse vahetamiseks vahemikus 0 kuni 20 kasutame If-End if loop tingimust, kus anname allpool näidatud kriteeriumid sisenemiseks.

Kood:

 Alam VBABreak2 () hämardatakse A täisarvuga A = 1 kuni 20, kui lõpp, kui see tööraamat.Töölehed (1) .Kellid (A, 1) = Järgmine lõpp 

7. samm: kirjutage nüüd kriteeriumid, kui A on suurem kui 9 (või mõni arv, kuid alla 20), siis väljuge järgmiselt. Arvame, et kui silmus jõuab 9-ni, peaks Loop katki minema.

Kood:

 Alam VBABreak2 () hämardatakse A täisarvuga A = 1 kuni 20, kui A> 9, siis väljuge lõpu jaoks, kui see tööraamat.Töölehed (1) .Kärud (A, 1) = Järgmine lõpp 

8. samm. Nüüd kompileerige kood vea leidmiseks. Kui ühtegi viga ei leitud, siis käivitage see. Näeme, et täisarv A väärtused vahemikus 1 kuni 20 on täidetud, kuni kood on 9. positsioonist väljunud või katki.

VBA pausi plussid loo jaoks

  • Väljumist või katkestamist saab kasutada mitte ainult silmuse jaoks, vaid ka paljudes teistes silmustes, näiteks toimingu ajal.
  • Seda kasutatakse kõige sagedamini kõigi VBA-s saadaolevate ahela tingimuste seas.
  • Loopi jaoks on see üsna lihtne ja töötab ka ilma Exit-kriteeriumideta.

Asjad, mida meeles pidada

  • Sest silmus võib töötada ilma väljumiskriteeriume esitamata. See toimib hästi, kuni kriteeriumid, milleta Exit puudub, murravad silmuse lõpuni.
  • Oluline on murda kõik silmused, mis ei vasta väljumiskriteeriumidele, kasutades silmuses Exit.
  • Pärast koodi kirjutamist salvestage fail kujul Makro Luba Excel, nii et kirjutatud kood säiliks.

Soovitatavad artiklid

See on olnud VBA Break For Loopi teejuht. Siin arutatakse, kuidas kasutada programmi Excel VBA Break For Loop koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA InStr selgitas näidetega
  2. VBA täisarvutüüp
  3. Kuidas valida lahtrit VBA-koodi abil?
  4. Pange vahemik üle VBA-s

Kategooria: