Vyhlásenie VBA GoTo - Ako používať vyhlásenie GoTo vo VBA?

Vyhlásenie GoTo programu Excel VBA

Príkaz VBA GoTo sa používa, keď sa pri spustení kódu vyskytne chyba, a nie zobrazenie chyby na pokračovanie v ďalšom riadku kódu ignorovaním chybovej správy. Existujú dva druhy príkazov GOTO, jedným je výber ľubovoľného rozsahu hárka v zadanom zošite a druhým je obsluha chýb.

Aby sme prekonali očakávané chyby vo VBA, máme funkciu nazvanú „GOTO“. V tomto článku uvidíme oba druhy vyhlásení GoTo.

2 spôsoby použitia vyhlásenia GoTo v kóde VBA

# 1 - Metóda Application.GoTo

Ak chcete prejsť na konkrétny zošit alebo konkrétny pracovný hárok vo všetkých otvorených zošitoch, môžeme použiť príkaz Application.GoTo.

Pozrime sa na syntax metódy Application.GoTo

  • (Odkaz): Toto nie je nič iné ako špecifikovaný odkaz na bunku. Ak referencia nie je uvedená v predvolenom nastavení, presunie vás na naposledy použitý rozsah buniek.
  • (Posun): Toto je logické tvrdenie TRUE alebo FALSE. Ak je hodnota TRUE, bude sa posúvať cez okno. Ak je hodnota FALSE, nebude sa posúvať cez okno.
Príklad

Ak chcete prejsť do konkrétnej bunky v konkrétnom pracovnom hárku, môžeme použiť metódu Goto. Mám 3 listy s menom Jan, Feb a Mar.

Ak chcem ísť do bunky C5 v hárku Jan, použijem nižšie uvedenú sadu kódov.

Krok 1: Spustite názov makra programu Excel.

Kód:

Sub GoTo_Example1 () End Sub

Krok 2: Spustite metódu „ Application.GoTo

Kód:

Sub GoTo_Example1 ()

Aplikácia. Choď

Koniec Sub

Krok 3: V referenčnom argumente musíme určiť názov hárka a v tomto hárku musíme spomenúť konkrétnu bunku.

Kód:

Sub GoTo_Example1 () Application.Goto Reference: = Pracovné listy ("Jan"). Rozsah ("C5") Koniec Sub

Krok 4: Uveďte zvitok ako TRUE.

Kód:

Sub GoTo_Example1 () Application.Goto Reference: = Pracovné listy ("Jan"). Rozsah ("C5"), Posun: = True End Sub

Krok 5: Teraz tento kód spustite pomocou klávesu F5, alebo ho môžete spustiť aj manuálne. Dostanete sa na zadaný hárok a zadanú bunku.

Teraz zmením argument rolovania na FALSE a uvidím zmenu, s ktorou sa stretne.

Sub GoTo_Example1 () Application.Goto Reference: = Pracovné listy ("Jan"). Rozsah ("C5"), Posun: = False End Sub

Ak chcete ísť do konkrétneho zošita, musíte pred názvom zošita spomenúť aj jeho názov.

Sub GoTo_Example1 () Application.Goto Reference: = Pracovné zošity ("Book1.xlsx"). Pracovné listy ("Jan"). Rozsah ("C5"), Posun: = False End Sub

# 2 - Metóda spracovania chýb

Keď konkrétny riadok kódu narazí na chybu, potom VBA zastaví vykonávanie zvyšku kódu a zobrazí chybové hlásenie.

Napríklad si pozrite nasledujúci riadok kódu.

Sub GoTo_Example2 () Sheets ("April"). Delete Sheets.Add End Sub

Vyššie uvedený kód hovorí o odstránení hárku v apríli a pridaní nového hárka. Ak v aktívnom zošite existuje názov hárka s názvom apríl, vymaže sa, inak sa zobrazí dialógové okno s chybovými hláseniami nižšie.

Keď spustím tento kód, môj zošit nemal hárok s názvom apríl, takže kód VBA nemohol nájsť názov hárka a vyhodí chybu. Niekedy musíme túto chybu ignorovať, pretože často neexistuje názov listu, ktorý sa volá April, a potom musíme pokračovať ďalšími riadkami kódu.

Aby sme túto chybu eliminovali, môžeme použiť metódu GoTo ako obslužnú rutinu chýb.

Teraz upravím kód tak, ako chyba On prejde na ďalší riadok.

Sub GoTo_Example2 () On Error GoTo NextLine Sheets ("April"). Delete NextLine: Sheets.Add End Sub

Ak toto spustíte, pridá nový hárok, aj keď neexistuje žiadny hárok s názvom apríl.

Výrok „Pri chybe GoTo NextLine“ chápe, že ak dôjde k chybe, prejde na ďalší riadok a v ďalšom riadku bude kódom VBA pridať nový hárok.

Na čo treba pamätať

  • Ak chcete prejsť na ďalší riadok, keď sa vyskytne chyba, môžete použiť aj príkaz Pri chybe Obnoviť ďalší VBA.
  • Ak chcete prejsť na ďalší, musíte si byť istí, že v danom riadku kódu sa očakáva chyba.
  • Ak dôležitý riadok kódu preskočí tento obslužný program chýb, vaša úloha nemusí byť dokončená ideálne.

Zaujímavé články...