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

# 1 - taikymas. „GoTo“ metodas

Jei norite pereiti prie konkrečios darbaknygės ar konkretaus darbalapio visose atidarytose darbaknygėse, galime naudoti teiginį „Application.GoTo“.

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

  • (Nuoroda): Tai ne kas kita, kaip nurodyta langelio nuoroda. Jei nuoroda nepateikiama pagal numatytuosius nustatymus, ji nukels jus į paskutinį naudojamą langelių diapazoną.
  • (Slinkti): tai logiškas teiginys TIKRA arba NETIESA. Jei vertė yra TIESA, ji slinks per langą. Jei vertė yra NETIESA, ji nebus slinkta per langą.
Pavyzdys

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

Jei noriu pereiti į Jan langelio C5 langelį, 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 - konkrečią 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 F5 klavišą, 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 Reference: = 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, tada VBA nustoja vykdyti likusį kodą ir rodo klaidos pranešimą.

Pavyzdžiui, pažiūrėkite į žemiau esančią kodo eilutę.

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

Aukščiau pateiktame kode nurodoma ištrinti lapą balandžio mėnesį ir pridėti naują lapą. Aktyvioje darbaknygėje, jei yra koks nors lapo pavadinimas, vadinamas balandžiu, jis bus ištrintas, kitaip jis parodys toliau pateiktą klaidos pranešimo dialogo langą.

Kai paleidžiau šį kodą, mano darbaknygėje nebuvo lapo, pavadinto „April“, todėl VBA kodas nerado lapo pavadinimo ir išmeta klaidą. Kartais turime nepaisyti šios klaidos, nes dažnai nėra lapo pavadinimo, vadinamo balandžiu, tada 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“ klaida eina į kitą eilutę.

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

Jei paleisite tai, jis pridės naują lapą, net jei nėra lapo pavadinimo, vadinamo „Balandis“.

Teiginys „On Error GoTo NextLine“ supranta, kad jei įvyksta klaida, jis pereis į kitą eilutę, o kitoje eilutėje VBA kodas turi 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.

Įdomios straipsniai...