Prohlášení VBA GoTo | Jak používat prohlášení GoTo ve VBA?
Prohlášení Excel VBA GoTo
Příkaz VBA GoTo se používá, když při spuštění kódu dojde k chybě, místo zobrazení chyby k obnovení dalšího řádku kódu ignorováním chybové zprávy. Existují dva druhy příkazů GOTO, jedním je výběr libovolného rozsahu listu v zadaném sešitu a druhým je obslužná rutina chyb.
Abychom překonali očekávané chyby ve VBA, máme funkci nazvanou „GOTO“. V tomto článku uvidíme oba druhy GoTo prohlášení.
2 způsoby použití příkazu GoTo v kódu VBA
Tuto šablonu VBA GoTo Excel si můžete stáhnout zde - Šablona VBA GoTo Excel# 1 - Metoda Application.GoTo
Pokud chcete jít do konkrétního sešitu nebo konkrétního listu ve všech otevřených sešitech, můžeme použít metodu příkazu Application.GoTo.
Podívejme se na syntaxi metody Application.GoTo
- [Reference]: Toto není nic jiného než specifikovaný odkaz na buňku. Pokud ve výchozím nastavení není uveden odkaz, dostanete se do naposledy použitého rozsahu buněk.
- [Scroll]: Toto je logické prohlášení PRAVDA nebo NEPRAVDA. Pokud je hodnota TRUE, bude procházet oknem, pokud je hodnota FALSE, nebude procházet oknem.
Příklad
Pokud chcete přejít do konkrétní buňky v konkrétním listu, můžeme použít metodu Goto. Mám 3 listy s názvem Jan, únor a březen.
Nyní, když chci jít do buňky C5 v listu Jan, použiji níže uvedenou sadu kódu.
Krok 1: Spusťte název makra aplikace Excel.
Kód:
Sub GoTo_Example1 () End Sub
Krok 2: Spusťte metodu „ Application.GoTo “
Kód:
Sub GoTo_Example1 ()
Aplikace
End Sub
Krok 3: V referenčním argumentu musíme zadat název listu a v tomto listu musíme uvést konkrétní buňku.
Kód:
Sub GoTo_Example1 () Application.Goto Reference: = Pracovní listy ("Jan"). Rozsah ("C5") Konec Sub
Krok 4: Uveďte svitek jako TRUE.
Kód:
Sub GoTo_Example1 () Application.Goto Reference: = Pracovní listy ("Jan"). Rozsah ("C5"), Posun: = True End Sub
Krok 5: Nyní spusťte tento kód pomocí klávesy F5 nebo tento kód můžete spustit také ručně, přenese vás na zadaný list a zadanou buňku.
Nyní změním argument rolování na FALSE a uvidím změnu, se kterou se setká.
Sub GoTo_Example1 () Application.Goto Reference: = Pracovní listy ("Jan"). Rozsah ("C5"), Scroll: = Falešný konec Sub
Pokud chcete přejít na konkrétní sešit, musíte před názvem sešitu také uvést název sešitu.
Sub GoTo_Example1 () Application.Goto Reference: = Sešity ("Book1.xlsx"). Pracovní listy ("Jan"). Rozsah ("C5"), Scroll: = Falešný konec Sub
# 2 - Metoda obsluhy chyb
Když konkrétní řádek kódu narazí na chybu, pak VBA zastaví provádění zbytku kódu a zobrazí chybovou zprávu.
Podívejte se například na níže uvedený řádek kódu.
Sub GoTo_Example2 () Sheets ("April"). Delete Sheets.Add End Sub
Výše uvedený kód říká, že odstranit list dubna a přidat nový list. Pokud v aktivním sešitu existuje nějaký název listu s názvem duben, odstraní se, jinak se zobrazí níže uvedené dialogové okno s chybovou zprávou.
Když spustím tento kód, můj sešit neměl list s názvem April, takže kód VBA nemohl najít název listu a hodí chybu. Někdy musíme tuto chybu ignorovat, protože často, pokud neexistuje název listu nazvaný duben, musíme pokračovat dalšími řádky kódu.
K odstranění této chyby můžeme použít metodu GoTo jako obslužnou rutinu chyb.
Nyní upravím kód jako při chybě přejít na další řádek
Sub GoTo_Example2 () On Error GoTo NextLine Sheets ("April"). Delete NextLine: Sheets.Add End Sub
Pokud toto spustíte, přidá nový list, přestože neexistuje název listu s názvem duben.
Prohlášení „On Error GoTo NextLine“ chápe, že pokud dojde k jakékoli chybě, přeskočí na další řádek a na dalším řádku bude kód VBA přidat nový list.
Věci k zapamatování
- Pokud chcete přeskočit na další řádek, když dojde k chybě, můžete také použít příkaz On Error Resume Next VBA.
- Chcete-li přejít na další, musíte si být jisti, že u daného řádku kódu se očekává chyba.
- Pokud důležitý řádek kódu přeskočí s tímto obslužným programem chyb, váš úkol nemusí být dokončen dokonale.