VBA „GoTo“ pareiškimas | Kaip naudoti „GoTo“ pareiškimą VBA?

„Excel VBA GoTo“ pareiškimas

VBA „GoTo“ sakinys naudojamas, kai vykdant kodą įvyksta klaida, o ne rodoma klaida, kad būtų atnaujinta kita kodo eilutė, ignoruojant klaidos pranešimą. Yra dviejų rūšių GOTO sakiniai: vienas yra pasirinkti bet kurį darbalapio diapazoną nurodytoje darbaknygėje, o kitas yra klaidų tvarkytuvas.

Norėdami įveikti numatomas VBA klaidas, turime funkciją, vadinamą „GOTO“. Šiame straipsnyje pamatysime abiejų rūšių „GoTo“ teiginius.

2 būdai, kaip naudoti „GoTo“ pareiškimą VBA kode

Šį „VBA GoTo Excel“ šabloną galite atsisiųsti čia - „VBA GoTo Excel“ šablonas

# 1 - taikymas. „GoTo“ metodas

Jei norite pereiti prie konkrečios darbaknygės ar konkretaus darbalapio visose atidarytose darbaknygėse, galime naudoti pareiškimo „Application.GoTo“ metodą.

Pažvelkime į „Application.GoTo“ metodo sintaksę

  • [Nuoroda]: Tai ne kas kita, kaip nurodyta langelio nuoroda. Jei nuoroda nepateikiama pagal numatytuosius nustatymus, jūs pateksite į paskutinį naudojamą langelių diapazoną.
  • [Slinkti]: tai logiškas teiginys TIKRA arba NETIESA. Jei reikšmė yra TIESA, ji slinks per langą, jei reikšmė NETIESA - nevers lango.
Pavyzdys

Jei norite pereiti į tam tikrą langelį konkrečiame darbalapyje, galime naudoti „Goto“ metodą. Turiu 3 lapus pavadintais Jan, Vas ir Mar.

Dabar, jei noriu pereiti į C5 langelį sausio lape, naudosiu žemiau pateiktą kodų rinkinį.

1 veiksmas: pradėkite „Excel“ makrokomandos pavadinimą.

Kodas:

 Sub GoTo_Example1 () Pabaiga Sub 

2 žingsnis: paleiskite metodą „ Application.GoTo

Kodas:

Papildomas „GoTo_Example1“ ()

Taikymas. Eiti

Pabaigos sub

3 žingsnis: nuorodos argumente turime nurodyti darbalapio pavadinimą, o tame darbalapyje turime paminėti konkretų langelį.

Kodas:

 Sub GoTo_Example1 () Application.Goto nuoroda: = darbalapiai ("Jan"). Diapazonas ("C5") Pabaiga Sub 

4 žingsnis: paminėkite slinkimą kaip TIKRA.

Kodas:

 Sub GoTo_Example1 () Application.Goto nuoroda: = darbalapiai ("Jan"). Diapazonas ("C5"), slinkimas: = True End Sub 

5 žingsnis: Dabar paleiskite šį kodą naudodami klavišą F5 arba taip pat galite paleisti šį kodą rankiniu būdu, jis pateks į nurodytą lapą ir nurodytą langelį.

Dabar pakeisiu slinkties argumentą į FALSE ir pamatysiu pakeitimą, su kuriuo jis susidurs.

 Sub GoTo_Example1 () Application.Goto nuoroda: = darbalapiai ("Jan"). Diapazonas ("C5"), slinkimas: = False End Sub 

Jei norite pereiti prie konkrečios darbaknygės, prieš darbaknygės pavadinimą turite paminėti ir darbaknygės pavadinimą.

 Sub GoTo_Example1 () Application.Goto nuoroda: = Darbaknygės ("Book1.xlsx"). Darbalapiai ("Jan"). Diapazonas ("C5"), slinkimas: = False End Sub 

# 2 - klaidų tvarkymo metodas

Kai tam tikroje kodo eilutėje atsiranda klaida, VBA nustoja vykdyti likusį kodą ir rodo klaidos pranešimą.

Pavyzdžiui, pažvelkite į žemiau esančią kodo eilutę.

 Sub GoTo_Example2 () lakštai („balandis“). Ištrinkite lenteles. Pridėti pabaigos antrinę 

Pirmiau pateiktame kode sakoma, kad reikia ištrinti lapą balandžio mėn. Aktyvioje darbaknygėje, jei yra koks nors lapo pavadinimas, vadinamas balandžiu, jis bus ištrintas arba jis parodys toliau pateiktą klaidos pranešimo dialogo langą.

Kai paleidau šį kodą, mano darbaknygėje nebuvo lapo, vadinamo „April“, todėl VBA kodas nerado lapo pavadinimo ir išmeta klaidą. Kartais turime nepaisyti šios klaidos, nes dažnai, jei nėra lapo pavadinimo, vadinamo balandžiu, turime tęsti kitas kodo eilutes.

Norėdami pašalinti šią klaidą, mes galime naudoti „GoTo“ metodą kaip klaidų tvarkytuvą.

Dabar pakeisiu kodą, nes „On error“ eina į kitą eilutę

 Sub GoTo_Example2 () On GoTo NextLine Sheets ("April") klaidoje. Ištrinkite NextLine: Sheets.Add End Sub 

Dabar, jei paleisite tai, jis pridės naują lapą, nors nėra lapo pavadinimo, vadinamo balandžio mėn.

Teiginys „On Error GoTo NextLine“ supranta, kad įvykus klaidai jis pereis į kitą eilutę ir kitoje eilutėje VBA kodas bus pridėti naują lapą.

Ką reikia atsiminti

  • Jei norite pereiti prie kitos eilutės įvykus klaidai, taip pat galite naudoti sakinį „On Error Resume Next VBA“.
  • Norėdami pereiti prie kito, turite būti tikri, kad toje konkrečioje kodo eilutėje laukiama klaidos.
  • Jei svarbi kodo eilutė praleidžiama naudojant šį klaidų tvarkytuvą, jūsų užduotis gali būti nevisiškai atlikta.

$config[zx-auto] not found$config[zx-overlay] not found