VBA GoTo -lausunto - Kuinka GoTo-lauseita käytetään VBA: ssa?

Sisällysluettelo

Excel VBA GoTo -lausunto

VBA GoTo -lauseketta käytetään, kun koodia suoritettaessa tapahtuu virhe, eikä virheen näyttämistä, jotta seuraava koodirivi voidaan jatkaa jättämällä virheilmoitus huomiotta. GOTO-lauseita on kahdenlaisia: yksi on valita mikä tahansa laskentataulukon alue määritetyssä työkirjassa ja toinen on virheenkäsittelijä.

VBA: n odotettujen virheiden poistamiseksi meillä on toiminto nimeltä "GOTO". Näemme molemmat GoTo-lausunnot tässä artikkelissa.

2 tapaa käyttää GoTo-lauseita VBA-koodissa

# 1 - Sovellus. GoTo-menetelmä

Jos haluat siirtyä tiettyyn työkirjaan tai tiettyyn laskentataulukkoon kaikissa avatuissa työkirjoissa, voimme käyttää lausetta Application.GoTo.

Tarkastellaan Application.GoTo-menetelmän syntaksia

  • (Viite): Tämä ei ole muuta kuin määritelty soluviite. Jos viittausta ei ole annettu oletusarvoisesti, se vie sinut viimeksi käytettyyn solualueeseen.
  • (Vieritä): Tämä on looginen lause TOSI tai EPÄTOSI. Jos arvo on TOSI, se vierittää ikkunaa. Jos arvo on EPÄTOSI, se ei selaa ikkunaa.
Esimerkki

Jos haluat siirtyä tiettyyn soluun tietyssä laskentataulukossa, voimme käyttää Goto-menetelmää. Minulla on 3 arkkia nimeltä Jan, Feb ja Mar.

Jos haluan siirtyä Jan-taulukon soluun C5, käytän alla olevaa koodisarjaa.

Vaihe 1: Käynnistä Excel-makron nimi.

Koodi:

Sub GoTo_Example1 () End Sub

Vaihe 2: Käynnistä menetelmä “ Application.GoTo

Koodi:

Sub GoTo_Example1 ()

Sovellus. Siirry

End Sub

Vaihe 3: Viiteargumentissa meidän on määritettävä laskentataulukon nimi, ja siinä on mainittava tietty solu.

Koodi:

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

Vaihe 4: Mainitse vieritys tosi.

Koodi:

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

Vaihe 5: Suorita tämä koodi nyt F5-näppäimellä tai voit suorittaa tämän koodin myös manuaalisesti, se vie sinut määritettyyn taulukkoon ja määritettyyn soluun.

Nyt vaihdan vieritys argumentiksi FALSE ja näen muutoksen, johon se törmää.

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

Jos haluat siirtyä tiettyyn työkirjaan, sinun on mainittava myös työkirjan nimi ennen työkirjan nimeä.

Sub GoTo_Example1 () Application.Goto Reference: = Työkirjat ("Book1.xlsx"). Laskentataulukot ("Jan"). Alue ("C5"), vieritys: = Väärä loppuosa

# 2 - Virheenkäsittelymenetelmä

Kun tietyllä koodirivillä on virhe, VBA lopettaa lopun koodin suorittamisen ja näyttää virheilmoituksen.

Katso esimerkiksi alla olevaa koodiriviä.

Sub GoTo_Example2 () Sheets ("April"). Poista Sheets.Add End Sub

Yllä oleva koodi sanoo poistavan taulukon huhtikuussa ja lisäämällä uuden arkin. Jos aktiivisessa työkirjassa on huhtikuun niminen taulukon nimi, se poistetaan tai muuten se näyttää alla olevan virhesanoman valintaikkunan.

Kun suoritin tämän koodin, työkirjassani ei ollut arkkia nimeltä April, joten VBA-koodi ei löytänyt taulukon nimeä ja heittää virheen. Joskus meidän on jätettävä tämä virhe huomiotta usein, jos huhtikuun nimeä ei ole, niin meidän on jatkettava muita koodirivejä.

Tämän virheen poistamiseksi voimme käyttää GoTo-menetelmää virheenkäsittelijänä.

Nyt muokkaan koodia, kun On-virhe siirtyy seuraavalle riville.

Sub GoTo_Example2 () On GoTo NextLine Sheets ("April") -virhe. Poista NextLine: Sheets.Add End Sub

Jos suoritat tämän, se lisää uuden taulukon, vaikka huhtikuun nimeä ei olisikaan.

Lause ”On Error GoTo NextLine” ymmärtää, että jos ilmenee virheitä, se hyppää seuraavalle riville ja seuraavalla rivillä VBA-koodin on lisättävä uusi taulukko.

Muistettavaa

  • Jos haluat siirtyä seuraavalle riville virheen ilmetessä, voit käyttää myös On Virhe Jatka seuraavaa VBA-käskyä.
  • Jos haluat siirtyä seuraavaan, sinun on oltava varma, että kyseisellä koodirivillä odotetaan olevan virhe.
  • Jos koodin tärkeä rivi ohitetaan tämän virhekäsittelijän kanssa, tehtäväsi ei ehkä ole valmis täydellisesti.

Mielenkiintoisia artikkeleita...