Pachet Excel VBA pentru buclă

VBA Break este utilizat atunci când dorim să ieșim sau să rupem bucla continuă care are anumite criterii fixe. Căci bucla este în domeniul de aplicare definește instrucțiunile care se execută în mod repetat pentru un număr fix de timp. Uneori, atunci când folosim orice condiție de buclă în VBA, se întâmplă adesea ca codul să funcționeze fără sfârșit sau pauză. Pentru a evita acest tip de situații, se recomandă utilizarea unor pauze sau funcții de ieșire prin care putem ieși din buclă cu ieșirea măsurabilă din macro.

Cum să folosiți pauză Excel VBA pentru buclă?

Vom învăța cum să folosiți o pauză VBA pentru buclă cu câteva exemple în Excel.

Puteți descărca acest șablon VBA Break For Loop Excel - Șablonul VBA Break For Loop Excel

Exemplul nr. 1 - VBA Break pentru buclă

Vom vedea un exemplu în care atunci când folosiți For loop, criteriile aranjate nu vor fi încălcate. Dar pentru a remedia acest lucru vom folosi bucla If-End . Pentru aceasta, avem nevoie de un modul în care vom scrie acest cod.

Urmați pașii de mai jos pentru a utiliza Break for Loop în Excel VBA.

Pasul 1: Deschideți un nou modul, mergeți la fereastra VBA și selectați Modul din opțiunea Insert meniu.

Pasul 2: Acest lucru ne va duce la un nou modul în VBA. Acum, în acel modul scrieți Subcategoria în numele VBA Break For Loop sau în orice alt nume care îi definește sensul.

Cod:

 Sub VBABreak1 () End Sub 

Pasul 3: Acum definiți un DIM ca orice alfabet sau cuvânt. Aceasta îi conferă o identitate. Aici folosim alfabetul „A” de mai jos.

Cod:

 Sub VBABreak1 () Dim A End Sub 

Pasul 4: Acum alocați-l ca număr întreg, care este utilizat pentru numere doar așa cum se arată mai jos.

Cod:

 Sub VBABreak1 () Dim A Ca punct final întreg 

Pasul 5: Alocați acum o valoare numerică întregului A. Să zicem că este 10 așa cum se arată mai jos.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Sub 

Pasul 6: Acum începeți o buclă For și luați în considerare orice valoare de pornire a lui A. Este mai bine să luați această valoare ca Zero. Acest lucru devine ușor de calculat.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Pentru A = 0 Pentru A Pasul 2 Sfârșit Sub 

Pasul 7: Și pentru a tipări valoarea stocată în A, vom folosi o casetă de mesaje care va prelua valoarea acesteia. Puteți utiliza orice formă de propoziție pentru a face mai semnificativă caseta de mesaje, care este opțională. L-am folosit în modul descris mai jos.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Pentru A = 0 până la pasul 2 MsgBox ("Valoarea este A este:" & A) Următorul final Sub 

Pasul 8: Acum compilați codul pas cu pas folosind tasta funcțională F8 și apoi executați codul făcând clic pe butonul Redare, așa cum se arată mai jos. Vom vedea că ieșirea în fiecare pas va fi de la 0 la 10 în intervalul de la 2, așa cum se arată mai jos.

Pasul 9: În cele din urmă închideți pentru Loop și folosiți și Next la final. „Următorul” este folosit atunci când folosim numerele din cod.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Pentru A = 0 până la pasul 2 MsgBox ("Valoarea este A este:" & A) Ieșire pentru următorul final Sub 

Pasul 10: Acest lucru arată că bucla nu este completă și trebuie să completăm și criteriile de ieșire pentru a ieși din bucla For. Și pentru asta, vom folosi condiția If-End Loop. Așadar, luați în considerare scrierea buclei If pentru același număr întreg A. Aici alegeți limita până când doriți să rulați bucla. Am considerat-o ca fiind 4.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Pentru A = 0 până la pasul 2 MsgBox ("Valoarea este A este:" & A) Dacă A = 4 Atunci ieșiți pentru următorul final Sub 

Pasul 11: Acum adăugăm încă un criteriu în care vom folosi de câte ori s-ar înmulți cu orice număr. Să spunem că este 10. Puteți alege orice alt număr în loc de 10. Dar utilizarea 10 face ușor de înțeles bucla de înmulțire.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Pentru A = 0 până la pasul 2 MsgBox ("Valoarea este A este:" & A) Dacă A = 4 Atunci A = A * 10 Ieșire pentru următorul final Sub 

Pasul 12: Folosiți din nou caseta de mesaj cu numele așa cum am folosit pentru bucla For și, în sfârșit, închideți instrucțiunea If Loop cu End if, așa cum se arată mai jos.

Cod:

 Sub VBABreak1 () Dim A Ca număr întreg A = 10 Pentru A = 0 până la Pasul 2 MsgBox ("Valoarea este A este:" & A) Dacă A = 4 Atunci A = A * 10 MsgBox ("Valoarea este A este : "& A) Ieșire pentru sfârșit Dacă următorul subs 

Pasul 13: Compilați din nou codul și executați-l. Pentru Loop va începe de la afișarea unui mesaj cu valoarea 0 și apoi urmată de 2, 4 și terminarea acestuia 40. Ceea ce înseamnă că pentru Loop s-a spart atunci când la a 3 -a iterație și a luat ultima valoare ca 40.

Exemplul # 2 - VBA Break pentru buclă

În acest exemplu, vom aplica For loop și vom vedea cum să rupem bucla odată ce îndeplinește criteriile.

Pasul 1: Deschideți un nou modul din opțiunea Insert meniu și dați-i o Subcategorie în orice nume sau mai bine într-o manieră secvențială, așa cum se arată mai jos.

Cod:

 Sub VBABreak2 () End Sub 

Pasul 2: Acum definiți un DIM A ca număr întreg. Utilizarea Integer pentru test ne permite să implementăm codul mai repede și să depanăm ușor.

Cod:

 Sub VBABreak2 () Dim A Ca punct final întreg 

Pasul 3: Acum începeți o buclă For pentru număr întreg definit și dați-i o gamă de la orice număr de rânduri începând de la 1. Am ales până la 20.

Cod:

 Sub VBABreak2 () Dim A Ca număr întreg pentru A = 1 până la 20 End sub 

Pasul 4: Acum dați o gamă sau o locație de unde numerele se imprimă în ordine. Am folosit ThisWorkBook pentru a selecta fișierul deschis curent și Fișele de lucru (1) pentru selectarea primei foi a unui registru de lucru deschis, așa cum se arată mai jos. Acum pentru a închide bucla For scrieți Următorul la sfârșit, așa cum se arată mai jos.

Cod:

 Sub VBABreak2 () Dim A Ca număr întreg pentru A = 1 la 20 ThisWorkbook.Worksheets (1) .Celluri (A, 1) = A Next End Sub 

Pasul 5: Rulați codul de mai sus manual sau folosind tasta rapidă F5. Putem vedea că codul a dat numărare de la 1 la 20.

Pasul 6: Acum pentru a întrerupe bucla între 0 și 20, vom folosi condiția If-End dacă bucla unde vom da criteriile pentru a se încadra, așa cum se arată mai jos.

Cod:

 Sub VBABreak2 () Dim A Ca număr întreg pentru A = 1 până la 20 Dacă End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Pasul 7: Scrie acum criteriile, Dacă A este mai mare de 9 (Sau orice număr, dar mai mic de 20), atunci Ieșire pentru, așa cum se arată mai jos. Presupunem că For Loop ar trebui rupt când bucla ajunge la 9.

Cod:

 Sub VBABreak2 () Dim A Ca număr întreg pentru A = 1 până la 20 Dacă A> 9 Atunci ieșiți pentru sfârșit Dacă ThisWorkbook.Worksheets (1) .Celluri (A, 1) = A Next End Sub 

Pasul 8: Acum compilați codul pentru a găsi eroarea. Dacă nu a fost găsită nicio eroare, atunci executați-o. Vom vedea pentru valorile întregi A de la 1 la 20 au fost completate până când codul a ieșit sau a fost spart la poziția 9.

Beneficiile VBA Break For Loop

  • Exit sau Break poate fi utilizat nu numai pentru Buclă, ci și în multe alte bucle, cum ar fi Do-while.
  • Acesta este cel mai frecvent utilizat în toate condițiile de buclă disponibile în VBA.
  • Pentru Loop este destul de ușor și poate funcționa chiar și fără criterii Exit.

Lucruri de amintit

  • Pentru bucla poate funcționa fără a da criteriile de ieșire. Poate funcționa bine până când criteriile fără Exit se rup bucla până la sfârșit.
  • Este important să spargeți orice buclă care nu satisface criteriile de ieșire folosind Exit în buclă.
  • După scrierea codului, salvați fișierul ca Macro Enable Excel, astfel încât codul scris să fie păstrat.

Articole recomandate

Acesta a fost un ghid pentru VBA Break For Loop. Aici vom discuta despre cum să folosiți Excel VBA Break For Loop împreună cu exemple practice și șablon excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. VBA InStr a explicat cu exemple
  2. VBA Integer Data Type
  3. Cum să selectați celula folosind codul VBA?
  4. Transpuneți un interval în VBA

Categorie: