Vyhlásenie Excel VBA GoTo

VBA Goto Statement sa používa na prekonanie predpovedaných chýb, zatiaľ čo pridávame a vytvárame obrovský kód riadkov vo VBA. Táto funkcia vo VBA nám umožňuje ísť s kompletným kódom podľa našich predpovedí alebo predpokladov. S pomocou Goto môžeme prejsť na ľubovoľný zadaný kód riadku alebo miesta vo VBA. Existujú dva spôsoby, ako to urobiť, čo uvidíme v nasledujúcich príkladoch.

Ako používať Excel VBA Goto Statement?

Na niekoľkých príkladoch sa naučíme, ako používať Excel VBA Goto Statement.

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

Príklad č. 1

Prvý spôsob použitia VBA Goto je metóda Application.Goto . S pomocou Application.Goto vyhlásenie môžeme na akékoľvek konkrétne miesto, zošit alebo pracovný list, ktorý je otvorený v súčasnej dobe. Toto vyhlásenie bude vyzerať takto.

  • (Referencia): Toto nie je nič iné ako špecifikovaný odkaz na bunku. Ak odkaz nie je predvolene uvedený, dostanete sa na posledný použitý rozsah buniek.
  • (Scroll): Toto je logické vyhlásenie TRUE alebo FALSE. Ak je hodnota TRUE, bude sa posúvať cez okno, ak je hodnota FALSE, nebude sa posúvať cez okno.

Za týmto účelom prejdite do okna VBA a kliknite na modul, ktorý je v ponuke Vložiť, ako je uvedené nižšie.

Teraz sa otvorí nový modul. Tam napíšeme podkategóriu makra s názvom Goto, keď vykonávame tento kód, ako je uvedené nižšie.

kód:

 Sub VBAGoto () Koniec Sub 

Teraz napíšte Application.Goto, aby ste umožnili aplikácii alebo miestu, kam chceme ísť.

kód:

 Sub VBAGoto () Application.Goto End Sub 

Potom uveďte odkaz na akýkoľvek pracovný hárok alebo zošit a rozsah buniek. Tu sme uviedli rozsah buniek B3 a pracovných listov s názvom „VBA Goto“.

kód:

 Sub VBAGoto () Application.Goto Reference: = Pracovné listy ("VBA_Goto1"). Rozsah ("B3"), End Sub 

Teraz, keď chceme ísť do uvedenej bunky, musíme pridať argument Scroll, ktorý nás priamo zavedie do určenej bunky. Teraz zmeníme argument posunu z FALSE, ako je to znázornené nižšie.

kód:

 Referenčné číslo aplikácie VBAGoto (). Referencie: = Pracovné hárky ("VBA_Goto1"). Rozsah ("B3"), Scroll: = Falošný koniec Sub 

Po spustení kódu pomocou klávesu F5 alebo ručne sa zobrazí kurzor, ktorý sa presunie do bunky B3 bez zmeny orientácie vybraného hárka, ako je to znázornené nižšie.

Teraz zmeníme argument Scroll z FALSE na TRUE.

kód:

 Sub VBAGoto () Application.Goto Reference: = Pracovné hárky ("VBA_Goto1"). Rozsah ("B3"), Scroll: = True End Sub 

Najprv udržiavame kurzor v bunke A5, ako je to znázornené nižšie. Teraz spustite celý kód pomocou klávesu F5 alebo ručne. Uvidíme kurzor, ktorý bol v bunke A5, ktorý je teraz posúvaný nahor a posunutý do bunky B3 a celá tabuľka sa presunula na najvyššiu úroveň hárku, počnúc rovnakou bunkou, ako je B3, ako je znázornené na obrázku nižšie.

Príklad č. 2

Existuje aj iný spôsob použitia argumentu VBA Goto. Ak použijeme Goto vo VBA v tomto príklade, môžeme preskočiť argument, ktorý spôsobuje chybu. Za týmto účelom vložte do modulu VBA nový modul a začnite podkategóriu s názvom použitého argumentu, ako je uvedené nižšie. Môžete použiť akékoľvek iné meno.

kód:

 Sub VBAGoto () Koniec Sub 

Z tohto dôvodu zvážime 3 celé čísla X, Y a Z otvorením podkategórie vo VBA, ako je uvedené nižšie.

kód:

 Sub VBAGoto () Dim X ako celé číslo, Y ako celé číslo, Z ako celé číslo sub 

Teraz tiež zvážte niektoré matematické delenie, kde rozdelíme 10, 20 a 30 0, 2 a 4, ako je uvedené nižšie.

kód:

 Sub VBAGoto () Dim X ako celé číslo, Y ako celé číslo, Z ako celé číslo X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Ak spustíme kód, dostaneme rovnaké chybové hlásenie ako Chyba pri spustení 11.

Vyššie uvedené chybové hlásenie Chyba pri spustení „11“ prichádza iba vtedy, keď je napísaný matematický výraz nesprávny. Teraz na odstránenie tejto chyby použijeme text On Error GoTo so slovom YResult na preskočenie chybovej správy a získanie výstupu, ktorý funguje dobre, ako je to znázornené nižšie.

Náš kód stále nie je úplný. Použitie príkazu Goto s príkazom „ YResult :“ vynechá iba chybový riadok kódu. Opäť sa však zobrazí chyba, pretože Labe nie je definovaný, ako je uvedené nižšie.

kód:

 Sub VBAGoto () Dim X ako celé číslo, Y ako celé číslo, Z ako celé číslo pri chybe GoTo YResult: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Aby sme to dokončili, musíme definovať štítok . Štítok je súčasťou príkazu v kóde VBA, ktorý sa používa, keď chceme preskočiť určitú časť kódu na ľubovoľný definovaný použiteľný riadok kódu. Ako už máme YResult s argumentom Goto . Potom ich vložíme tesne pred celé číslo Y. Teraz spustite kód znova.

kód:

 Sub VBAGoto () Dim X ako celé číslo, Y ako celé číslo, Z ako celé číslo pri chybe GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 End Sub 

Ako je vidieť a urobené, neobdržali sme žiadnu chybovú správu, čo znamená, že náš kód je správny a preskakuje tento riadok kódu, ktorý spôsobil chybu a poskytol výstup, kde bol zapísaný správny kód. Teraz, ak chcete vytlačiť výsledok kódu, musíte do každého Integeru vložiť schránky s argumentom help MsgBox, ako je to znázornené nižšie.

kód:

 Sub VBAGoto () Dim X ako celé číslo, Y ako celé číslo, Z ako celé číslo pri chybe GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

Po dokončení spustite kompletný kód, aby ste videli výstup. Výstup rozdelenia každého z definovaných celých čísel bude 0, 10 a 8, ako je znázornené na obrázku nižšie.

Pri chybe GoTo Príkaz YResult nám pomohol priamo skočiť na vyššie uvedené celé číslo výsledného bodu, ako sme to urobili pre celé číslo Y. A výstup pre X ako 0 ukazuje, že bol napísaný nesprávny argument. Môžeme označiť aj pred Z, ale to by nám prinieslo iba výsledok z celého čísla Z. Pre X a Y sa znova zobrazí 0 ako výstup.

Výhody VBA pri chybe

  • Môžeme vypočítať akýkoľvek matematický vzorec, aj keď je nesprávny.
  • Pre väčšie kódovacie štruktúry, kde sú šance alebo chyba, môže použitie GoTo poskytnúť správny výsledok aj medzi radom kódov.
  • To dáva lepší výsledok v porovnaní s výsledkami získanými z normálnych výpočtov excelu napriek tomu, že majú nesprávny argument.

Čo je potrebné pamätať

  • Nezabudnite na súbor v súbore Macro-Enabled Excel, aby sme mohli vytvorený kód VBA používať mnohokrát a viackrát.
  • Pred implementáciou zostavte napísaný kód so všetkými excelovými požiadavkami.
  • Písanému kódu môžete priradiť ľubovoľné tlačidlo, aby sme naň mohli rýchlo kliknúť a spustiť ho.
  • Použite štítok, ako je to znázornené na príklade 2, aby sme dostali výsledok pre úplný správny kód.

Odporúčané články

Toto bola príručka pre vyhlásenie VBA GoTo. Tu sme diskutovali o tom, ako používať Excel VBA GoTo Statement 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ť slučky Excel VBA?
  2. Funkcia VBA v programe Excel
  3. Sprievodca rozsahom v Exceli
  4. Ako používať funkciu VBA VLOOKUP?

Kategórie: