Izjava VBA GoTo - Kako uporabiti izjavo GoTo v VBA?

Izjava Excel VBA GoTo

Stavek VBA GoTo se uporablja, kadar pride do napake med izvajanjem kode, namesto da bi prikazal napako, da nadaljuje naslednjo vrstico kode z ignoriranjem sporočila o napaki. Obstajata dve vrsti stavkov GOTO, eden je izbrati poljuben obseg delovnega lista v določenem delovnem zvezku, drugi pa je obdelovalec napak.

Za premagovanje pričakovanih napak v VBA imamo funkcijo, imenovano »GOTO«. V tem članku bomo videli obe vrsti izjav GoTo.

2 načina uporabe izjave GoTo v kodi VBA

# 1 - Application.GoTo Method

Če želite odpreti določen delovni zvezek ali določen delovni list v vseh odprtih delovnih zvezkih, lahko uporabimo izjavo Application.GoTo.

Poglejmo sintakso metode Application.GoTo

  • (Referenca): To ni nič drugega kot določena referenca celice. Če referenca privzeto ni navedena, vas bo pripeljal do zadnjega uporabljenega obsega celic.
  • (Pomikanje): Ta logični stavek TRUE ali FALSE. Če je vrednost TRUE, se bo pomaknila skozi okno. Če je vrednost FALSE, se ne bo pomaknila skozi okno.
Primer

Če želite odpreti določeno celico na določenem delovnem listu, lahko uporabimo metodo Goto. Imam 3 liste z imenom Jan, Feb in Mar.

Če želim iti v celico C5 na listu Jan, bom uporabil spodnji niz kod.

1. korak: Zaženite ime makra excel.

Koda:

Sub GoTo_Example1 () Konec Sub

2. korak: Zaženite metodo " Application.GoTo "

Koda:

Sub GoTo_Example1 ()

Pojdi

Končaj pod

3. korak: V referenčnem argumentu moramo določiti ime delovnega lista, v tem delovnem listu pa moramo omeniti določeno celico.

Koda:

Sub GoTo_Example1 () Application.Goto Reference: = Delovni listi ("Jan"). Obseg ("C5") Konec Sub

4. korak: Pomaknite drsnik kot TRUE.

Koda:

Sub GoTo_Example1 () Application.Goto Reference: = Delovni listi ("Jan"). Obseg ("C5"), pomikanje: = True End Sub

5. korak: Zdaj zaženite to kodo s tipko F5 ali pa jo lahko zaženete tudi ročno, pripeljala vas bo do določenega lista in določene celice.

Zdaj bom argument scroll spremenil v FALSE in videl spremembo, na katero bo naletel.

Sub GoTo_Example1 () Application.Goto Reference: = Delovni listi ("Jan"). Obseg ("C5"), pomikanje: = False End Sub

Če želite odpreti določen delovni zvezek, morate pred imenom delovnega zvezka omeniti tudi ime delovnega zvezka.

Sub GoTo_Example1 () Application.Goto Reference: = Delovni zvezki ("Book1.xlsx"). Delovni listi ("Jan"). Obseg ("C5"), pomikanje: = False End Sub

# 2 - Način obdelave napak

Ko določena vrstica kode naleti na napako, VBA preneha izvajati preostalo kodo in prikaže sporočilo o napaki.

Na primer, poglejte spodnjo vrstico kode.

Sub GoTo_Example2 () Sheets ("April"). Izbrišite Sheet.Add End Sub

Zgornja koda pravi, da je treba list zbrisati aprila in dodati nov list. Če v aktivnem delovnem zvezku obstaja ime lista z imenom April, se izbriše ali pa se prikaže spodnje pogovorno okno s sporočilom o napaki.

Ko zaženem to kodo, moj delovni zvezek ni imel lista z imenom April, zato koda VBA ni mogla najti imena lista in vrne napako. Včasih moramo to napako pogosto prezreti, če ni imena lista z imenom April, potem moramo nadaljevati z drugimi vrsticami kode.

Da bi to napako odpravili, lahko kot orodje za obdelavo napak uporabimo metodo GoTo.

Zdaj bom kodo spremenil, saj bo On error prešel v naslednjo vrstico.

Sub GoTo_Example2 () Na napaki GoTo NextLine Sheets ("April"). Izbriši NextLine: Sheets.Add End Sub

Če zaženete to, bo dodal nov list, čeprav ni imena lista z imenom April.

Izjava »On Error GoTo NextLine« razume, da če pride do kakršne koli napake, bo preskočila na naslednjo vrstico, v naslednji vrstici pa mora koda VBA dodati nov list.

Stvari, ki si jih je treba zapomniti

  • Če želite preskočiti na naslednjo vrstico, ko pride do napake, lahko uporabite tudi stavek On Error Resume Next VBA.
  • Če želite preskočiti na naslednje, morate biti prepričani, da se v tej vrstici kode pričakuje napaka.
  • Če pomembna vrstica kode preskoči s tem upravljalnikom napak, vaša naloga morda ne bo dokončana popolnoma.

Zanimive Članki...