Excel VBA Break pre slučku

VBA Break sa používa, keď chceme ukončiť alebo prerušiť nepretržitú slučku, ktorá má určité pevné kritériá. For loop je v rozsahu pôsobnosti definuje príkazy, ktoré sa opakovane vykonávajú po pevne stanovený čas. Niekedy, keď používame akúkoľvek podmienku slučky vo VBA, sa často stáva, že kód stále beží bez ukončenia alebo prerušenia. Aby sa predišlo takýmto situáciám, odporúča sa použiť niektoré prerušenia alebo ukončovacie funkcie, pomocou ktorých môžeme opustiť slučku s merateľným výstupom z makra.

Ako používať Excel VBA Break pre slučku?

Naučíme sa, ako používať VBA Break for Loop s niekoľkými príkladmi v Exceli.

Túto šablónu VBA Break for Loop Excel si môžete stiahnuť tu - VBA Break For Loop Excel Template

Príklad č. 1 - VBA Break for Loop

Uvidíme príklad, kde pri použití For slučky nebudú kritériá usporiadania porušené. Aby sme to vyriešili, použijeme slučku If-End . Preto potrebujeme modul, do ktorého tento kód napíšeme.

Ak chcete použiť Break for Loop v programe Excel VBA, postupujte podľa nasledujúcich krokov.

Krok 1: Otvorte nový modul, prejdite do okna VBA a vyberte možnosť modul z ponuky Vložiť.

Krok 2: Tým sa dostanete k novému modulu vo VBA. Teraz do tohto modulu napíšte podkategóriu v mene VBA Break For Loop alebo v akomkoľvek inom názve, ktoré definuje jeho význam.

kód:

 Sub VBABreak1 () Koniec sub 

Krok 3: Teraz definujte DIM ako ľubovoľnú abecedu alebo slovo. Toto jej dáva identitu. Tu používame abecedu „A“ nižšie.

kód:

 Sub VBABreak1 () Dim A End Sub 

Krok 4: Teraz ho priraďte ako celé číslo, ktoré sa používa pre čísla iba ako je uvedené nižšie.

kód:

 Sub VBABreak1 () Dim A ako celé číslo Sub Sub 

Krok 5: Teraz priradte číselnú hodnotu k Integer A. Povedzme, že je 10, ako je uvedené nižšie.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 End Sub 

Krok 6: Teraz spustite slučku For a zvážte akúkoľvek počiatočnú hodnotu A. Túto hodnotu je lepšie brať ako nulovú. Výpočet sa stáva ľahkým.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 pre A = 0 až A Krok 2 End Sub 

Krok 7: A na tlač hodnoty uloženej v A použijeme okno so správou, ktoré načíta jeho hodnotu. Môžete tiež použiť akúkoľvek formu vety, aby sa rámček správ stal zmysluplnejším, čo je voliteľné. Použili sme to, ako je uvedené nižšie.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 pre A = 0 až A Krok 2 MsgBox („Hodnota je A je:“ & A) Ďalší koniec Sub 

Krok 8: Teraz zostavte kód krok za krokom pomocou funkčného klávesu F8 a potom spustite kód kliknutím na tlačidlo Prehrať, ako je uvedené nižšie. Uvidíme, že výstup v každom kroku bude od 0 do 10 v krokovej medzere 2, ako je uvedené nižšie.

Krok 9: Teraz konečne zatvorte Pre slučku a na konci použite aj ďalší . „Ďalej“ sa používa, keď v kóde používame čísla.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 pre A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Výstup pre ďalší koniec Sub 

Krok 10: Toto ukazuje, že slučka nie je úplná a ak chceme ukončiť slučku For, musíme splniť aj kritériá ukončenia. A na to použijeme podmienku If-End Loop. Zvážte teda písanie If loop pre rovnaké Integer A. Tu vyberte limit, kým si želáte spustiť loop. Považovali sme to za 4.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 pre A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Ak A = 4, potom ukončite pre ďalší koniec Sub 

Krok 11: Teraz pridajme ešte jedno kritérium, v ktorom použijeme koľkokrát by bolo vynásobené ľubovoľným číslom. Povedzme, že je 10. Môžete si zvoliť akékoľvek iné číslo namiesto 10. Ale použitie 10 uľahčuje pochopenie multiplikačnej slučky.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 pre A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Ak A = 4, potom A = A * 10 Exit pre nasledujúci koniec Sub 

Krok 12: Teraz znova použite oznamovacie pole pre meno, ako sme to používali pre slučku For a nakoniec zatvorte príkaz If Loop with End if, ako je to znázornené nižšie.

kód:

 Sub VBABreak1 () Dim A ako celé číslo A = 10 pre A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Ak A = 4, potom A = A * 10 MsgBox ("Hodnota je A je : "& A) Ukončiť na koniec, ak je nasledujúci koniec Sub 

Krok 13: Znova zostavte kód a spustite ho. Pri slučke Loop sa začne zobrazovať správa s hodnotou 0 a potom nasledujú 2, 4 a jej ukončenie 40. Čo znamená, že slučka sa pri 3. iterácii zlomila a posledná hodnota bola 40.

Príklad č. 2 - VBA Break for Loop

V tomto príklade použijeme For slučku a uvidíme, ako prerušiť slučku, akonáhle splní kritériá.

Krok 1: Otvorte nový modul z ponuky Vložiť a zadajte mu podkategóriu v akomkoľvek názve alebo lepšie postupným spôsobom, ako je to znázornené nižšie.

kód:

 Sub VBABreak2 () Koniec sub 

Krok 2: Teraz definujte DIM A ako celé číslo. Použitie testu Celé číslo nám umožňuje implementovať kód rýchlejšie a ladenie ľahké.

kód:

 Sub VBABreak2 () Dim A ako celé číslo Sub Sub 

Krok 3: Teraz začnite pre slučku For pre definované celé číslo a zadajte jej rozsah od ľubovoľného počtu riadkov od 1. Vybrali sme do 20.

kód:

 Sub VBABreak2 () Dim A ako celé číslo pre A = 1 až 20 koncových sub 

Krok 4: Teraz zadajte rozsah alebo miesto, z ktorého sa čísla postupne tlačia. ThisWorkBook sme použili na výber aktuálne otvoreného súboru a pracovných hárkov (1) na výber prvého hárku otvoreného zošita, ako je uvedené nižšie. Teraz zatvorte For loop, napíšte Next na koniec, ako je to znázornené nižšie.

kód:

 Sub VBABreak2 () Dim A ako celé číslo pre A = 1 až 20 ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Krok 5: Spustite vyššie uvedený kód ručne alebo pomocou klávesovej skratky F5. Vidíme, že kód pridelil počet 1 až 20.

Krok 6: Teraz na prerušenie slučky medzi 0 až 20, použijeme podmienku If-End if loop, kde dáme kritériá na spadnutie, ako je uvedené nižšie.

kód:

 Sub VBABreak2 () Dim A ako celé číslo pre A = 1 až 20 If End If ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Krok 7: Teraz napíšte kritériá, ak A je väčšie ako 9 (alebo akékoľvek číslo, ale menšie ako 20), potom Exit For, ako je uvedené nižšie. Predpokladáme, že slučka by sa mala zlomiť, keď slučka dosiahne 9.

kód:

 Sub VBABreak2 () Dim A ako celé číslo pre A = 1 až 20 Ak A> 9, potom ukončite na koniec, ak ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Krok 8: Teraz zostavte kód a vyhľadajte chybu. Ak sa nenájde žiadna chyba, spustite ju. Uvidíme, že celé číslo A od 1 do 20 bolo zaplnené, kým kód neopustil alebo nezlomil na pozícii 9.

Výhody VBA Break pre slučku

  • Exit alebo Break je možné použiť nielen pre slučku, ale v mnohých ďalších slučkách, ako napríklad Do-while.
  • Toto sa najčastejšie používa medzi všetkými podmienkami slučky dostupnými vo VBA.
  • Pre slučku je to celkom jednoduché a môže pracovať aj bez kritérií na ukončenie.

Čo je potrebné pamätať

  • Slučka môže fungovať bez zadania kritérií pre ukončenie. Môže fungovať dobre, až kým kritériá bez ukončenia neprerušia slučku.
  • Je dôležité prerušiť každú slučku, ktorá nespĺňa kritériá ukončenia, pomocou príkazu Ukončiť v slučke.
  • Po napísaní kódu uložte súbor ako Macro Enable Excel, aby bol napísaný kód zachovaný.

Odporúčané články

Toto bol sprievodca VBA Break For Loop. Tu diskutujeme o tom, ako používať Excel VBA Break For Loop spolu s praktickými príkladmi a stiahnuteľnou vynikajúcou šablónou. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. VBA InStr vysvetlené s príkladmi
  2. VBA celočíselný typ údajov
  3. Ako vybrať bunku pomocou kódu VBA?
  4. Transponujte rozsah vo VBA

Kategórie: