VBA GoTo nyilatkozat - Hogyan kell használni a GoTo nyilatkozatot a VBA-ban?

Tartalomjegyzék

Excel VBA GoTo nyilatkozat

A VBA GoTo utasítás akkor használható, ha a kód futtatása közben hiba lép fel, a hiba megjelenítése helyett a következő kódsor folytatása a hibaüzenet figyelmen kívül hagyásával. Kétféle GOTO utasítás létezik: az egyik a munkalap bármelyik tartományának kiválasztása a megadott munkafüzetben, a másik pedig a hibakezelő.

A VBA várható hibáinak leküzdéséhez rendelkezünk egy „GOTO” nevű funkcióval. Ebben a cikkben mindkétféle GoTo nyilatkozatot láthatjuk.

2 mód a GoTo utasítás használatára a VBA kódban

# 1 - Alkalmazás. GoTo módszer

Ha az összes megnyitott munkafüzetben meg akar lépni a konkrét munkafüzethez vagy egy adott munkalaphoz, használhatjuk az Application.GoTo metódust.

Nézzük meg az Application.GoTo módszer szintaxisát

  • (Hivatkozás): Ez nem más, mint egy megadott cellahivatkozás. Ha a referencia alapértelmezés szerint nincs megadva, akkor az utoljára használt cellatartományba visz.
  • (Görgetés): Ez az IGAZ vagy HAMIS logikai állítás. Ha az érték IGAZ, akkor végiggörgeti az ablakot. Ha az érték HAMIS, akkor nem fog görgetni az ablakon.
Példa

Ha egy adott cellába szeretne menni az adott munkalapon, használhatjuk a Goto módszert. Van 3 lapom, Jan, Feb és Mar néven.

Ha a Jan lap C5 cellájába akarok menni, akkor az alábbi kódkészletet fogom használni.

1. lépés: Indítsa el az Excel makró nevét.

Kód:

Sub GoTo_Example1 () End Sub

2. lépés: Indítsa el az „ Application.GoTo ” módszert

Kód:

GoTo_Példa1 ()

Alkalmazás. Menj

End Sub

3. lépés: A referencia argumentumban meg kell adnunk a munkalap nevét, és abban a munkalapban meg kell említenünk a konkrét cellát.

Kód:

Sub GoTo_Example1 () Application.Goto Reference: = Munkalapok ("Jan"). Range ("C5") End Sub

4. lépés: Említse meg a görgetést IGAZként.

Kód:

Sub GoTo_Example1 () Application.Goto Reference: = Munkalapok ("Jan"). Range ("C5"), Scroll: = True End Sub

5. lépés: Most futtassa ezt a kódot az F5 billentyűvel, vagy manuálisan is futtathatja ezt a kódot, így a megadott lapra és a megadott cellára kerül.

Most megváltoztatom a görgetési argumentumot FALSE-ra, és látom a változást, amellyel találkozni fog.

Sub GoTo_Example1 () Application.Goto Reference: = Munkalapok ("Jan"). Tartomány ("C5"), Scroll: = False End Sub

Ha egy konkrét munkafüzetre szeretne menni, akkor a munkafüzet neve előtt meg kell említenie a munkafüzet nevét is.

Sub GoTo_Example1 () Application.Goto Reference: = Munkafüzetek ("Book1.xlsx"). Munkalapok ("Jan"). Tartomány ("C5"), Scroll: = False End Sub

# 2 - Hibakezelő módszer

Amikor az adott kódsor hibával találkozik, akkor a VBA leállítja a többi kód végrehajtását, és megjeleníti a hibaüzenetet.

Nézze meg például az alábbi kódsort.

Sub GoTo_Example2 () Sheets ("April"). Törölje a Sheets.Add End Sub elemet

A fenti kód azt mondja, hogy áprilisban törölje a lapot, és adjon hozzá egy új lapot. Ha az aktív munkafüzetben van április nevű lapnév, akkor az törlődik, különben az alábbi hibaüzenet párbeszédpanelt jeleníti meg.

Amikor futtattam ezt a kódot, a munkafüzetemben nem volt április nevű lap, így a VBA kód nem találta meg a lap nevét, és eldobta a hibát. Néha gyakran figyelmen kívül kell hagynunk ezt a hibát, ha nincs április nevű lapnév, akkor folytatnunk kell a többi kódsorral.

A hiba kiküszöbölésére a GoTo módszert használhatjuk hibakezelőként.

Most módosítom a kódot, mivel az On hiba a következő sorra kerül.

Sub GoTo_Example2 () On GoTo NextLine Sheets ("April") hiba. NextLine: Sheets.Add End Sub hozzáadása

Ha ezt futtatja, hozzáadja az új lapot, annak ellenére, hogy nincs április nevű lapnév.

Az „On Error GoTo NextLine” állítás megérti, hogy ha bármilyen hiba lép fel, akkor a következő sorra ugrik, és a következő sorban a VBA kód egy új lap hozzáadása.

Dolgok, amikre emlékezni kell

  • Ha a következő sorra szeretne ugrani, amikor a hiba bekövetkezik, használhatja a On On Resume Next VBA utasítást is.
  • A következőre ugráshoz meg kell győződnie arról, hogy az adott kódsor várhatóan hibát jelent.
  • Ha a kód fontos sora átugrik ezzel a hibakezelővel, akkor előfordulhat, hogy a feladata nincs tökéletesen befejezve.

érdekes cikkek...