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.