Excel VBA GoTo-erklæring

VBA Goto-erklæring bruges til at overvinde de forudsagte fejl, mens vi tilføjer og opretter en enorm kode af linjer i VBA. Denne funktion i VBA giver os mulighed for at gå med den komplette kode i henhold til vores forudsigelse eller antagelser. Med hjælp Goto kan vi gå til en hvilken som helst specificeret kode eller linje i VBA. Der er to måder at gøre det på, som vi vil se i kommende eksempler.

Hvordan bruges Excel VBA Goto-erklæring?

Vi lærer, hvordan du bruger Excel VBA Goto-erklæring med et par eksempler.

Du kan downloade denne VBA GoTo Excel-skabelon her - VBA GoTo Excel-skabelon

Eksempel 1

Den første måde at bruge VBA Goto på er med Application.Goto- metoden. Ved hjælp af Application.Goto- erklæring kan vi til ethvert specifikt sted, projektmappe eller regneark, der åbnes i øjeblikket. Denne erklæring vil se ud som nedenfor.

  • (Reference): Dette er intet andet end en specificeret cellehenvisning. Hvis referencen ikke leveres som standard, vil den føre dig til det sidst anvendte celleområde.
  • (Rulle): Dette er en logisk erklæring om SAND eller FALSE. Hvis værdien er SAND, ruller den gennem vinduet, hvis værdien er FALSE, vil den ikke rulle gennem vinduet.

Gå hertil til VBA-vinduet og klik på Modul, der er i menuen Indsæt som vist nedenfor.

Nu åbner det et nyt modul. Der skriver underkategorien til en makro med navnet Goto, da vi udfører den kode som vist nedenfor.

Kode:

 Sub VBAGoto () End Sub 

Skriv nu Application.Goto for at aktivere applikationen eller det sted, hvor vi vil hen.

Kode:

 Sub VBAGoto () Application.Goto End Sub 

Efter dette skal du henvise til ethvert regneark eller projektmappe og række celler. Her har vi givet udvalget af celle B3 og arbejdsark med navngivet "VBA Goto".

Kode:

 Sub VBAGoto () Application.Goto Reference: = Arbejdsark ("VBA_Goto1"). Range ("B3"), End Sub 

Nu for faktisk at gå til den nævnte celle er vi nødt til at tilføje Scroll-argument, der direkte fører os til den specificerede celle. Nu ændrer vi rulleargumentet fra FALSE som vist nedenfor.

Kode:

 Sub VBAGoto () Application.Goto Reference: = Arbejdsark ("VBA_Goto1"). Range ("B3"), rulle: = False End Sub 

Efter at have kørt koden ved hjælp af F5-tasten eller manuelt, vil vi se markøren flyttes til celle B3 uden at ændre retningen på det valgte ark som vist nedenfor.

Nu ændrer vi Scroll-argument fra FALSE til TRUE.

Kode:

 Sub VBAGoto () Application.Goto Reference: = Arbejdsark ("VBA_Goto1"). Range ("B3"), rulle: = True End Sub 

Oprindeligt holder vi markøren ved celle A5 som vist nedenfor. Kør nu den komplette kode ved hjælp af F5-nøglen eller manuelt. Vi vil se markøren, der var ved celle A5, nu rulles op og flyttes til celle B3, og hele tabellen er flyttet til det øverste niveau af arket, der starter med den samme celle, som B3, som vist i skærmbilledet nedenfor.

Eksempel 2

Der er en anden måde at bruge VBA Goto-argumentet på. Brug af Goto i VBA med dette eksempel, kan vi springe over argumentet, der forårsager en fejl. Til dette indsættes et nyt modul i VBA og start underkategori med navnet på det argument, der bruges som vist nedenfor. Du kan bruge ethvert andet navn.

Kode:

 Sub VBAGoto () End Sub 

For dette overvejer vi 3 heltal X, Y og Z ved at åbne underkategori i VBA som vist nedenfor.

Kode:

 Sub VBAGoto () Dim X som heltal, Y som heltal, Z som heltal slut sub 

Overvej nu også en matematisk opdeling, hvor vi deler 10, 20 og 30 med 0, 2 og 4 som vist nedenfor.

Kode:

 Sub VBAGoto () Dim X som heltal, Y som heltal, Z som heltal X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Hvis vi kører koden, får vi den samme fejlmeddelelse af run-time-fejl 11.

Over fejlmeddelelse Kørselsfejl '11' kommer kun, når det skrevne matematiske udtryk er forkert. Nu for at overskrive denne fejl bruger vi tekst On Error GoTo med ord YResult til at springe fejlmeddelelse over og få output, der fungerer fint som vist nedenfor.

Stadig er vores kode ikke komplet. Brug af Goto med sætningen “ YResult :” springer kun fejlkodelinjen over. Men det vil igen vise fejlen, da Labe ikke er defineret som vist nedenfor.

Kode:

 Sub VBAGoto () Dim X som heltal, Y som heltal, Z som heltal på fejl GoTo YResult: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Nu for at fuldføre det, er vi nødt til at definere etiketten . Label er den del af sætningen i VBA Coding, der bruges, når vi vil springe en bestemt del af koden over til en hvilken som helst defineret relevant kodelinje. Som vi allerede har YResult med Goto- argumentet. Så indsætter vi det samme lige før heltal Y. Kør nu koden igen.

Kode:

 Sub VBAGoto () Dim X som heltal, Y som heltal, Z som heltal på fejl GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 End Sub 

Som set og gjort har vi ikke fået nogen fejlmeddelelse, som betyder, at vores kode er korrekt, og det springer over den kodelinje, der forårsager en fejl og giver output, hvor den korrekte kode er skrevet. For at udskrive resultatet af kode skal du nu indsætte meddelelsesbokse for hvert heltal med hjælpargumentet MsgBox som vist nedenfor.

Kode:

 Sub VBAGoto () Dim X som heltal, Y som heltal, Z som heltal på fejl GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

Når det er gjort, skal du køre den komplette kode for at se output. Vi vil også dele output fra hver definerede heltal som 0, 10 og 8 som vist i nedenstående skærmbillede.

Ved fejl hjalp GoTo YResult- udsagn os med at hoppe direkte til det nævnte resultatpoint-heltal, som vi gjorde for heltal Y. Og output for X som 0 viser, at der var forkert argumenteringsargument skrevet. Vi kan mærket endnu før Z, men det vil kun give os resultatet af Z-heltal. For X og Y viser det igen 0 som output.

Fordele ved VBA ved fejl

  • Vi kan beregne enhver matematisk formel, selvom den er forkert.
  • For større kodningstrukturer, hvor der er chancer eller har en fejl, kan brug af GoTo muligvis give det rigtige resultat, selv blandt koden.
  • Dette giver et bedre resultat sammenlignet med resultatet opnået fra normale excel-beregninger på trods af at have et forkert argument.

Ting at huske

  • Husk på filen i makroaktiveret Excel-fil, så vi kan bruge den oprettede VBA-kode mange og flere gange.
  • Kompiler den skriftlige kode inden implementering med ethvert excel-krav.
  • Du kan tildele den skrevne kode til enhver knap, så vi hurtigt kan klikke på knappen og køre koden.
  • Brug Label som vist i eksempel-2 korrekt, så vi får resultatet for den komplette korrekte kode.

Anbefalede artikler

Dette har været en guide til VBA GoTo-erklæring. Her diskuterede vi, hvordan du bruger Excel VBA GoTo-erklæring sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Sådan bruges Excel VBA Loops?
  2. VBA-funktion i Excel
  3. Vejledning til rækkevidde i Excel
  4. Hvordan bruges VBA VLOOKUP-funktion?

Kategori: