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

Excel VBA GoTo -lausunto

VBA GoTo -lauseketta käytetään, kun koodia suoritettaessa tapahtuu virhe, eikä virheen näyttämistä, jotta seuraava koodirivi voidaan palauttaa 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 voittamiseksi meillä on toiminto nimeltä "GOTO". Näemme molemmat GoTo-lausunnot tässä artikkelissa.

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

Voit ladata tämän VBA GoTo Excel -mallin täältä - VBA GoTo Excel -malli

# 1 - Application.GoTo-menetelmä

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

Tarkastellaan Application.GoTo-menetelmän syntaksia

  • [Viite]: Tämä ei ole muuta kuin määritelty soluviite. Jos viittausta ei ole annettu oletuksena, se vie viimeksi käytetylle solualueelle.
  • [Vieritä]: Tämä on looginen lause TOSI tai EPÄTOSI. Jos arvo on TOSI, se vierittää ikkunaa, jos arvo on EPÄTOSI, se ei vieritä ikkunaa.
Esimerkki

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

Nyt kun haluan mennä soluun C5 tammikuun taulukossa, 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 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 koodin myös manuaalisesti, se vie sinut määritettyyn taulukkoon ja määritettyyn soluun.

Nyt vaihdan vieritysargumentiksi FALSE ja näen sen kohtaaman muutoksen.

 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"), Vieritä: = False End Sub 

# 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 huhtikuu ja lisäämällä uuden arkin. Aktiivisessa työkirjassa, jos jokin taulukon nimi on huhtikuu, se poistetaan tai muuten se näyttää alla olevan virhesanoman valintaikkunan.

Kun suoritin tämän koodin, työkirjallani ei ollut taulukkoa, jonka nimi oli huhtikuu, joten VBA-koodi ei löytänyt taulukon nimeä ja heittää virheen. Joskus meidän on jätettävä huomioimatta tämä virhe, koska usein jos ei ole huhtikuun nimeämää taulukon nimeä, 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 

Nyt 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-koodi on lisätä uusi taulukko.

Muistettavaa

  • Jos haluat siirtyä seuraavalle riville virheen ilmetessä, voit käyttää myös On Virhe Jatka seuraavaa VBA-käskyä.
  • Jotta voit 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.

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