Excel VBA Break pro smyčku

VBA Break se používá, když chceme ukončit nebo přerušit nepřetržitou smyčku, která má určitá pevná kritéria. Pro smyčku je v rámci rozsahu definováno příkazy, které jsou prováděny opakovaně po stanovenou dobu. Někdy, když použijeme jakoukoli podmínku smyčky ve VBA, často se stává, že kód pokračuje v chodu bez konce nebo přerušení. Abychom se vyhnuli takovým situacím, doporučuje se použít některé funkce přerušení nebo ukončení, pomocí kterých můžeme ukončit smyčku s měřitelným výstupem z makra.

Jak používat Excel VBA Break pro smyčku?

Naučíme se používat VBA Break pro smyčku s několika příklady v Excelu.

Tuto šablonu VBA Break pro smyčku Excel si můžete stáhnout zde - VBA Break pro smyčku Excel šablony

Příklad č. 1 - VBA Break For Loop

Uvidíme příklad, kdy při použití For smyčky nebudou kritéria uspořádána. K vyřešení tohoto problému však použijeme smyčku If-End . K tomu potřebujeme modul, do kterého budeme tento kód psát.

Postupujte podle níže uvedených kroků použít Break for Loop v Excel VBA.

Krok 1: Otevřete nový modul, přejděte do okna VBA a v něm vyberte z nabídky Vložit modul.

Krok 2: Tím se dostanete k novému modulu ve VBA. Nyní do tohoto modulu napište Subcategory do názvu VBA Break For Loop nebo do jakéhokoli jiného názvu, které definuje jeho význam.

Kód:

 Sub VBABreak1 () End Sub 

Krok 3: Nyní definujte DIM jako libovolnou abecedu nebo slovo. To mu dává identitu. Zde používáme abecedu „A“ níže.

Kód:

 Sub VBABreak1 () Dim A End Sub 

Krok 4: Nyní jej přiřaďte jako celé číslo, které se používá pro čísla pouze tak, jak je uvedeno níže.

Kód:

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

Krok 5: Nyní přiřaďte číselné hodnotě Integer A. Řekněme, že je 10, jak je uvedeno níže.

Kód:

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

Krok 6: Nyní spusťte smyčku For a zvažte jakoukoli počáteční hodnotu A. Tuto hodnotu je lepší brát jako nulovou. To se snadno vypočítá.

Kód:

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

Krok 7: A pro tisk hodnoty uložené v A použijeme okno se zprávou, které načte jeho hodnotu. Můžete také použít libovolnou formu věty, aby byl rámeček zprávy smysluplnější, což je volitelné. Použili jsme ji, jak je ukázáno níže.

Kód:

 Sub VBABreak1 () Dim A jako celé číslo A = 10 Pro A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Next End Sub 

Krok 8: Nyní vytvořte kód krok za krokem pomocí funkčního tlačítka F8 a poté spusťte kód kliknutím na tlačítko Přehrát, jak je ukázáno níže. Uvidíme, že výstup v každém kroku bude od 0 do 10 v mezeře kroku 2, jak je ukázáno níže.

Krok 9: Nyní konečně zavřete Pro smyčku a na konci také použijte Další . „Další“ se používá, když v kódu používáme čísla.

Kód:

 Sub VBABreak1 () Dim A jako celé číslo A = 10 pro A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Konec pro další konec Sub 

Krok 10: To ukazuje, že smyčka není úplná a musíme ukončit i kritéria pro ukončení, abychom opustili smyčku For. K tomu použijeme podmínku If-End Loop. Zvažte tedy napsat If If loop pro stejné Integer A. Zde zvolte limit, dokud si přejete spustit smyčku. Považovali jsme to za 4.

Kód:

 Sub VBABreak1 () Dim A jako celé číslo A = 10 pro A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Pokud A = 4, pak opusťte další konec Sub 

Krok 11: Nyní přidejte ještě jedno kritérium, ve kterém použijeme, kolikrát by se násobilo libovolným číslem. Řekněme, že je 10. Můžete si vybrat libovolné jiné číslo namísto 10. Ale pomocí 10 snadno pochopíte multiplikační smyčku.

Kód:

 Sub VBABreak1 () Dim A jako celé číslo A = 10 pro A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Pokud A = 4, pak A = A * 10 Exit pro další konec Sub 

Krok 12: Nyní znovu použijte oznamovací pole s názvem, jak jsme použili pro smyčku For, a nakonec zavřete příkaz If Loop with End if, jak je uvedeno níže.

Kód:

 Sub VBABreak1 () Dim A jako celé číslo A = 10 pro A = 0 až A Krok 2 MsgBox ("Hodnota je A je:" & A) Pokud A = 4, pak A = A * 10 MsgBox ("Hodnota je A je : "& A) Konec pro konec, pokud další konec Sub 

Krok 13: Znovu sestavte kód a spusťte jej. Pro smyčku začne zobrazovat zprávu s hodnotou 0 a poté následovat 2, 4 a ukončit ji 40. To znamená, že pro smyčku se při 3. iteraci zlomil a poslední hodnotu vzal jako 40.

Příklad č. 2 - VBA Break For Loop

V tomto příkladu použijeme pro smyčku a uvidíme, jak přerušit smyčku, jakmile splní kritéria.

Krok 1: Otevřete nový modul z nabídky Vložit a přiřaďte mu podkategorii v jakémkoli názvu nebo lépe sekvenčním způsobem, jak je uvedeno níže.

Kód:

 Sub VBABreak2 () End Sub 

Krok 2: Nyní definujte DIM A jako celé číslo. Použití Integer pro test nám umožňuje implementovat kód rychleji a snadné ladění.

Kód:

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

Krok 3: Nyní spusťte smyčku For pro definované celé číslo a přidělte jí rozsah od libovolného počtu řádků počínaje 1. Vybrali jsme do 20.

Kód:

 Sub VBABreak2 () Dim A jako celé číslo pro A = 1 až 20 End Sub 

Krok 4: Nyní zadejte rozsah nebo umístění, odkud se čísla postupně tisknou. ThisWorkBook jsme použili k výběru aktuálně otevřeného souboru a listů (1) pro výběr prvního listu otevřeného sešitu, jak je ukázáno níže. Nyní zavřete smyčku For, napíšete na konec, jak je ukázáno níže.

Kód:

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

Krok 5: Spusťte výše uvedený kód ručně nebo pomocí klávesové zkratky F5. Vidíme, že kód dal počet čísel od 1 do 20.

Krok 6: Nyní k přerušení smyčky mezi 0 až 20, použijeme If-End, pokud podmínka smyčky, kde dáme kritéria propadnutí, jak je ukázáno níže.

Kód:

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

Krok 7: Nyní napište kritéria: Pokud A je větší než 9 (nebo libovolné číslo, ale menší než 20), pak Exit For, jak je ukázáno níže. Předpokládáme, že smyčka by se měla rozbít, jakmile smyčka dosáhne 9.

Kód:

 Sub VBABreak2 () Dim A jako celé číslo pro A = 1 až 20 Pokud A> 9, pak konec pro konec, pokud ThisWorkbook.Worksheets (1) .Cells (A, 1) = A Next End Sub 

Krok 8: Nyní zkompilujte kód a vyhledejte chybu. Pokud nebyla nalezena žádná chyba, spusťte ji. Uvidíme, že celé číslo A od 1 do 20 bylo vyplněno, dokud kód neopustí nebo nezlomí na pozici 9.

Výhody VBA Break For Loop

  • Exit nebo Break lze použít nejen pro smyčku For, ale také v mnoha jiných smyčkách, jako je například Do-while.
  • Toto je nejčastěji používáno mezi všemi podmínkami smyčky dostupnými ve VBA.
  • Pro smyčku je docela snadné a může pracovat i bez kritérií Exit.

Co si pamatovat

  • Pro smyčku lze pracovat bez zadání kritérií Exit. Může to fungovat dobře, dokud kritéria bez Exit nepřeruší smyčku do konce.
  • Je důležité rozbít jakoukoli smyčku, která nesplňuje kritéria pro ukončení, pomocí Exit ve smyčce.
  • Po zapsání kódu uložte soubor jako Macro Enable Excel, aby byl zachován zapsaný kód.

Doporučené články

Toto byl průvodce VBA Break For Loop. Zde diskutujeme o tom, jak používat Excel VBA Break For Loop spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. VBA InStr vysvětleno příklady
  2. VBA celočíselný typ dat
  3. Jak vybrat buňku pomocí kódu VBA?
  4. Transponujte rozsah ve VBA

Kategorie: