Izjava VBA GoTo - Kako koristiti GoTo Statement u VBA?

Izjava Excel VBA GoTo

Izjava VBA GoTo koristi se kada se tijekom izvođenja koda dogodi pogreška, a ne prikazivanje pogreške za nastavak sljedećeg retka koda zanemarivanjem poruke o pogrešci. Postoje dvije vrste GOTO izjava, jedna je odabir bilo kojeg raspona radnog lista u navedenoj radnoj knjizi, a druga je obrada pogrešaka.

Da bismo prevladali očekivane pogreške u VBA-u, imamo funkciju koja se zove "GOTO". U ovom ćemo članku vidjeti obje vrste GoTo izjava.

2 načina upotrebe GoTo izjave u VBA kodu

# 1 - Application.GoTo metoda

Ako želite otvoriti određenu radnu knjigu ili određeni radni list u svim otvorenim radnim knjigama, možemo koristiti metodu Application.GoTo.

Pogledajmo sintaksu metode Application.GoTo

  • (Referenca): Ovo nije ništa drugo nego navedena referenca ćelije. Ako referenca nije zadana, odvest će vas do zadnjeg korištenog raspona ćelija.
  • (Pomicanje): Ovo je logičan iskaz TRUE ili FALSE. Ako je vrijednost TRUE, pomicat će se kroz prozor. Ako je vrijednost FALSE, neće se pomicati kroz prozor.
Primjer

Ako želite otići do određene ćelije na određenom radnom listu, možemo koristiti metodu Goto. Imam 3 lista s imenom Jan, Veljača i Mar.

Ako želim prijeći na ćeliju C5 u listu Jan, upotrijebit ću donji skup kodova.

Korak 1: Pokrenite excel naziv makronaredbe.

Kodirati:

Sub GoTo_Example1 () Kraj Sub

Korak 2: Pokrenite metodu " Application.GoTo "

Kodirati:

Sub GoTo_Example1 ()

Primjena.Idi

Kraj pod

Korak 3: U referentnom argumentu moramo navesti naziv radnog lista, a u tom radnom listu moramo spomenuti određenu ćeliju.

Kodirati:

Sub GoTo_Example1 () Application.Goto Reference: = Radni listovi ("Jan"). Raspon ("C5") Kraj Sub

Korak 4: Pomaknite pomicanje kao ISTINITO.

Kodirati:

Sub GoTo_Example1 () Application.Goto Reference: = Radni listovi ("Jan"). Raspon ("C5"), pomicanje: = True End Sub

Korak 5: Sada pokrenite ovaj kôd pomoću tipke F5 ili ga možete pokrenuti i ručno, odvest će vas do navedenog lista i određene ćelije.

Sada ću promijeniti argument pomicanja u FALSE i vidjeti promjenu na koju će naići.

Sub GoTo_Example1 () Application.Goto Reference: = Radni listovi ("Jan"). Raspon ("C5"), pomicanje: = False End Sub

Ako želite otići do određene radne knjige, tada morate spomenuti i naziv radne knjige prije naziva radne knjige.

Sub GoTo_Example1 () Application.Goto Reference: = Radne knjige ("Book1.xlsx"). Radni listovi ("Jan"). Raspon ("C5"), pomicanje: = False End Sub

# 2 - Metoda rukovanja pogreškama

Kada određeni redak koda naiđe na pogrešku, tada VBA prestaje izvršavati ostatak koda i prikazuje poruku o pogrešci.

Na primjer, pogledajte donji redak koda.

Sub GoTo_Example2 () Sheets ("April"). Izbrišite listove.Dodajte kraj Sub

Gornji kod kaže da se list izbriše u travnju i doda novi list. Ako u aktivnoj radnoj knjizi postoji naziv lista koji se zove April, ona će se izbrisati ili će prikazati donji dijaloški okvir poruke o pogrešci.

Kad pokrenem ovaj kôd, moja radna knjiga nije imala list pod nazivom April, pa VBA kôd nije mogao pronaći naziv lista i baca pogrešku. Ponekad ovu grešku moramo ignorirati često, ako ne postoji naziv lista koji se zove April, onda moramo nastaviti s ostalim retcima koda.

Da bismo uklonili ovu pogrešku, možemo koristiti GoTo metodu kao obrađivača pogrešaka.

Sada ću izmijeniti kôd jer greška On prelazi u sljedeći redak.

Sub GoTo_Example2 () U slučaju greške Idi na listove NextLine ("travanj"). Izbriši NextLine: Sheets.Add End Sub

Ako ovo pokrenete, dodati će novi list iako ne postoji naziv lista koji se zove April.

Izjava “On Error GoTo NextLine” razumije da će, ako se dogodi bilo kakva pogreška, preskočiti na sljedeći redak, a u sljedećem retku VBA kôd treba dodati novi list.

Stvari koje treba zapamtiti

  • Ako želite prijeći na sljedeći redak kada se pojavi pogreška, možete upotrijebiti i izjavu On Result Next Next VBA.
  • Da biste prešli na sljedeću, morate biti sigurni da se u tom retku koda očekuje pogreška.
  • Ako važan redak koda preskoči s ovim rukovateljem pogrešaka, vaš zadatak možda neće biti dovršen u potpunosti.

Zanimljivi članci...