Úvod do VBA Exit Sub

Exit Sub sa javí ako ukončenie podkategórie svojím názvom. Ale v skutočnosti sa Exit Sub používa na skok zo sub procedúry celkom bez toho, aby sa nechal dokončiť kompletný kód. Keď použijeme Exit Sub medzi akýmkoľvek kódom, potom iba kód pred Exit sub sa spustí úplne vo VBA Excel. Kód po sub-výstupe bude preskočený a po ňom preskočí celý kód. Exit Sub zvyčajne pracuje s Do-while Loop lepšie.

Ako použiť Exit Sub pomocou VBA?

Pozrime sa na príklady Exit Sub v Excel VBA.

Túto šablónu VBA Exit Sub Excel si môžete stiahnuť tu - VBA Exit Sub Excel Template

Príklad č. 1 - VBA Exit Sub

Krok 1: Ak chcete použiť Exit Sub, potrebujeme modul. Za týmto účelom prejdite do okna VBA. Kliknite na záložku Vložiť menu, dostaneme zoznam, odtiaľ vyberte Modul, ako je znázornené nižšie.

Krok 2: Potom novo otvorený modul napíšte podkategóriu do názvu VBA Exit Sub alebo do akéhokoľvek iného názvu, ako je uvedené nižšie.

kód:

 Sub VBA_ExitSub1 () End Sub 

Krok 3: Definujte premennú Dim ľubovoľným menom, povedzme A. A dajte mu funkciu Celé číslo, ako je uvedené nižšie.

kód:

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

Krok 4: Teraz otvorte funkciu Do while Loop, ako je to znázornené nižšie.

kód:

 Sub VBA_ExitSub1 () Dim A ako celé číslo do konca Sub 

Krok 5: Medzi tým, keď píšeme jednoduchý porovnávací kód. Urobme pridanie premennej A s +1. Čo znamená pridanie DO pre svoju vlastnú hodnotu +1. A spustite ju, až kým nezískame hodnotu +1 pre premennú A.

kód:

 Sub VBA_ExitSub1 () Dim A ako celé číslo Do A = A + 1, zatiaľ čo End Sub 

Krok 6: Teraz, ako veľmi chceme pridať +1 do A, bude definované v podmienkach Loop while . Čo hovorí, že DO slučka sa spustí po splnení podmienky A + 1, zatiaľ čo A je menšie ako 100.

kód:

 Sub VBA_ExitSub1 () Dim A ako celé číslo Do A = A + 1 Loop, zatiaľ čo A <100 End Sub 

Krok 7: Teraz budeme potrebovať schránku správ (ktorá je voliteľná), aby sme videli výstup slučky Do while. Za týmto účelom vložte MsgBox a zadajte ho do premennej A.

kód:

 Sub VBA_ExitSub1 () Dim A ako Integer Do A = A + 1 Loop, zatiaľ čo A <100 MsgBox A End Sub 

Krok 8: Teraz skompilujte kód stlačením klávesu F8, aby ste zistili, či v kóde nie je chyba alebo nie. Neskôr spustite celý kód stlačením tlačidla Prehrať umiestneného pod panelom s ponukami, ako je to znázornené nižšie. Uvidíme, že okno správy nám poskytlo výstup ako 100 . Čo znamená, že hodnota A je menšia ako 100 a vzorec, ktorý sme definovali v DO Loop, hovorí, že hodnota A je A + 1. Takže odpoveď prichádza ako 100.

Krok 9: Teraz, keď chceme aplikovať Exit Sub vo vykonanej slučke Do while, musíme pridať príkaz Exit Sub pred začiatkom cyklu Loop alebo po definovaní premennej A, ako je to znázornené nižšie.

kód:

 Sub VBA_ExitSub1 () Dim A ako celočíselný výstup Sub Do A = A + 1 slučka, zatiaľ čo A <100 MsgBox A End Sub 

Teraz znova zostavte kód a spustite, ak sa nenašla žiadna chyba.

Zistíme, že sme nenašli žiadny výstup. Dôvodom je, že beh kódu je dokončený, ale preskočil na slučku Do while, čo v okienku správ nedáva žiadny výstup.

Príklad č. 2 - Výstup VBA Sub

Pozrime sa na ďalší príklad. V tomto príklade uvidíme, ako Exit Sub pracuje na preskočení zmeny farby písma. Pretože v bunke C3 máme nejaký text, ako je to znázornené nižšie. Ako vidíme, text je predvolene prázdny.

Krok 1: Na tento účel otvorte nový modul a dajte mu podkategóriu v mene VBA Exit subit alebo v akomkoľvek inom vhodnom názve podľa vašej potreby.

kód:

 Sub VBA_ExitSub2 () End Sub 

Krok 2: Vyberte bunku rozsahu, ktorá obsahuje text. Tu našou bunkou rozsahu bude bunka C3.

kód:

 Rozsah sub VBA_ExitSub2 () ("C3"). Vyberte End Sub 

Krok 3: Keďže musíme zmeniť farbu písma, v nasledujúcom riadku kódu vyberte súčasne funkciu Písmo a Farba, ako je to znázornené nižšie.

kód:

 Rozsah Sub VBA_ExitSub2 () ("C3"). Vyberte Selection.Font.Color = End Sub 

Krok 4: Teraz vyberte farbu písma, ktoré chceme zmeniť. A výber farby sa začne vb podľa nastavenia VBA. Tu vyberieme červenú, ako je znázornené nižšie.

kód:

 Rozsah sub VBA_ExitSub2 () ("C3"). Vyberte výber.Font.Color = vbRed End Sub Sub 

Krok 5: Teraz zostavte celý kód naraz, pretože kód je pomerne malý a spustite ho. Uvidíme, že farba písma v bunke C3 je teraz zmenená na červenú farbu z predvolenej čiernej .

Krok 6: Teraz, aby ste tu použili Exit Sub v kóde zmeny farby písma, vložte príkaz Exit Sub pred riadok pre výber buniek rozsahu kódu alebo medzi výber buniek buniek ( 1. ) a Farba písma ( 2. ), ako je to znázornené nižšie.

kód:

 Rozsah Sub VBA_ExitSub2 () ("C3"). Vyberte Exit Sub Selection.Font.Color = vbRed End Sub 

Krok 7: Teraz znova spustite kód. Tentokrát si všimneme, že farba písma textu v bunke C3 sa nezmení na červenú farbu, ako sa zmenila skôr pred umiestnením príkazu Exit Sub .

Krok 8: Pridaný príkaz Exit Sub môžeme previesť na text vložením jediného obráteného citátu, ako je to znázornené nižšie. Tým sa prevedie na text . Potom sa farba tejto čiary zmení na zelenú.

kód:

 Rozsah Sub VBA_ExitSub2 () ("C3"). Vyberte 'Exit Sub Selection.Font.Color = vbRed End Sub Sub 

Výhody programu VBA Exit Sub

  • Šetrí čas pri opakovanom písaní kódu.
  • Môžeme preskočiť časť kódu, ktorú nechceme spustiť.
  • Je použiteľný vo všetkých typoch funkcií.
  • Toto je veľmi užitočné pri práci na veľkých riadkoch kódu, kde musíme preskočiť alebo preskočiť určitý riadok kódu.

Čo je potrebné pamätať

  • VBA Exit Sub pracuje so všetkými druhmi kódov a funkcií, ale funguje lepšie pri všetkých druhoch slučky, najmä slučky DO-WHILE Loop.
  • Vyskočí z časti kódu a spustí iba toľko kódu, ktorý je pred Exit Sub.
  • Exit a End Sub, obe sú odlišné.
  • Vynechá a vyskočí z kódu bez úplného spustenia. A polovičný kód neposkytuje žiadny správny výstup.

Odporúčané články

Toto je príručka pre VBA Exit Sub. Tu diskutujeme o tom, ako používať Excel VBA Exit Sub spolu s niekoľkými 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. Ako používať VBA počas slučky?
  2. VBA - odstránenie duplikátov
  3. Pochopenie typov údajov VBA
  4. Spánok VBA s príkladmi

Kategórie: