Excel VBA GoTo Declarație

Declarația VBA Goto este utilizată pentru a depăși erorile prevăzute, în timp ce adăugăm și creăm un cod uriaș de linii în VBA. Această funcție în VBA ne permite să mergem cu codul complet conform predicțiilor sau presupunerilor noastre. Cu ajutorul lui Goto putem merge la orice cod de linie sau locație specificat în VBA. Există două modalități de a face acest lucru pe care le vom vedea în exemplele viitoare.

Cum să utilizați declarația Excel VBA Goto?

Vom învăța cum să utilizați Excel VBA Goto statement cu câteva exemple.

Puteți descărca acest șablon VBA GoTo Excel aici - șablonul VBA GoTo Excel

Exemplul # 1

Primul mod de utilizare a VBA Goto este prin metoda Application.Goto . Cu ajutorul aplicației Application.Goto putem face orice locație, carte de lucru sau fișă de lucru specifică care este deschisă în prezent. Această afirmație va arăta ca mai jos.

  • (Referință): Aceasta nu este altceva decât o referință de celule specificată. Dacă referința nu este furnizată implicit, vă va duce la ultimul interval de celule utilizat.
  • (Defilare): Aceasta este o declarație logică a TRUE sau FALSE. Dacă valoarea este ADEVĂRAT, acesta va defila prin fereastră, dacă valoarea dacă FALSE nu va defila prin fereastră.

Pentru aceasta, accesați fereastra VBA și faceți clic pe Modulul care se află în meniul Insert, așa cum se arată mai jos.

Acum va deschide un nou modul. Acolo se scrie Subcategoria unei macro-uri cu numele de Goto, în timp ce executăm codul, așa cum se arată mai jos.

Cod:

 Sub VBAGoto () End Sub 

Acum scrie Application.Goto pentru a activa aplicația sau locul unde vrem să mergem.

Cod:

 Sub VBAGoto () Aplicație.Goto End Sub 

După aceasta, dați referință la orice foaie de lucru sau carte de lucru și gamă de celule. Aici am oferit gama de celule B3 și foi de lucru numite „VBA Goto”.

Cod:

 Sub VBAGoto () Aplicație.Goto Referință: = Fișe de lucru ("VBA_Goto1"). Interval ("B3"), Sub End 

Acum pentru a merge efectiv la celula menționată, trebuie să adăugăm argumentul Scroll care ne va duce direct la celula specificată. Acum vom schimba argumentul de defilare din FALSE, așa cum se arată mai jos.

Cod:

 Sub Aplicație VBAGoto () Referință.Goto Referință: = Fișe de lucru ("VBA_Goto1"). Gama ("B3"), Defilare: = False End Sub 

După rularea codului folosind tasta F5 sau manual, vom vedea că cursorul va fi mutat la celula B3 fără a schimba orientarea foii selectate, așa cum se arată mai jos.

Acum vom schimba argumentul Scroll din FALSE în TRUE.

Cod:

 Sub Aplicație VBAGoto () Referință.Goto Referință: = Fișe de lucru ("VBA_Goto1"). Gama ("B3"), Defilare: = Adevărat final 

Inițial, păstrăm cursorul la celula A5, așa cum se arată mai jos. Acum rulați codul complet folosind tasta F5 sau manual. Vom vedea cursorul care a fost la celula A5, este defilat în sus și mutat la celula B3 și întreaga tabelă s-a mutat la nivelul superior al foii începând cu aceeași celulă B3, așa cum se arată în imaginea de mai jos.

Exemplul # 2

Există un alt mod de utilizare a argumentului VBA Goto. Folosind Goto în VBA prin acest exemplu, putem săriți argumentul care provoacă o eroare. Pentru aceasta, introduceți un nou modul în VBA și porniți Subcategoria cu numele argumentului utilizat așa cum se arată mai jos. Puteți utiliza orice alt nume.

Cod:

 Sub VBAGoto () End Sub 

Pentru aceasta, vom lua în considerare 3 numere întregi X, Y și Z deschizând categoria Sub în VBA așa cum se arată mai jos.

Cod:

 Sub VBAGoto () Dim X Ca număr întreg, Y Ca număr întreg, Z Ca subcomplet 

Acum, de asemenea, ia în considerare o diviziune matematică în care vom împărți 10, 20 și 30 cu 0, 2 și 4 așa cum se arată mai jos.

Cod:

 Sub VBAGoto () Dim X Ca număr întreg, Y Ca număr întreg, Z Ca număr întreg X = 10/0 Y = 20/2 Z = 30/4 End sub 

Dacă rulăm codul, vom primi același mesaj de eroare cu eroarea 11 de executare.

Mesajul de eroare de mai sus Eroarea de timp de execuție '11' vine numai atunci când expresia matematică scrisă este incorectă. Acum pentru a trece peste această eroare, vom folosi textul On Error GoTo cu cuvântul YResult pentru a omite mesajul de eroare și a obține ieșirea care funcționează bine, așa cum se arată mai jos.

Totuși, codul nostru nu este complet. Utilizarea lui Goto cu declarația „ YResult :” va omite doar linia de eroare a codului. Dar va arăta din nou eroarea, întrucât Labe nu a fost definit așa cum se arată mai jos.

Cod:

 Sub VBAGoto () Dim X Ca Integer, Y Ca Integer, Z Ca Integer On Error GoTo YResult: X = 10/0 Y = 20/2 Z = 30/4 End Sub 

Acum pentru a o completa, trebuie să definim Eticheta . Eticheta este partea din declarația din codarea VBA, care este folosită atunci când dorim să sărim o anumită porțiune de cod la orice linie de cod aplicabilă definită. După cum avem deja YResult cu argumentul Goto . Apoi vom introduce același lucru chiar înainte de întregul Y. Acum rulați din nou codul.

Cod:

 Sub VBAGoto () Dim X Ca Integer, Y Ca Integer, Z Ca Integer On Error GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 End Sub 

După cum s-a văzut și am făcut, nu am primit niciun mesaj de eroare, ceea ce înseamnă că codul nostru este corect și omite acea linie de cod care a cauzat o eroare și a dat ieșirea unde a fost scris codul corect. Acum pentru a tipări rezultatul codului trebuie să introduceți căsuțe de mesaje pentru fiecare număr întreg cu argumentul de ajutor MsgBox așa cum se arată mai jos.

Cod:

 Sub VBAGoto () Dim X Ca Integer, Y Ca Integer, Z Ca Integer On Error GoTo YResult: X = 10/0 YResult: Y = 20/2 Z = 30/4 MsgBox X MsgBox Y MsgBox Z End Sub 

Odată terminat, rulați codul complet pentru a vedea rezultatul. Vom produce ieșirea diviziunii fiecărui număr întreg definit ca 0, 10 și 8 așa cum se arată în imaginea de mai jos.

În instrucțiunea Error GoTo YResult ne-a ajutat să trecem direct la numarul de puncte de rezultat menționat, așa cum am făcut-o pentru întregul Y. Și ieșirea pentru X ca 0 arată că a fost scris un argument incorect de declarație. Putem eticheta chiar înainte de Z, dar asta ne-ar oferi doar rezultatul numărului întreg Z. Pentru X și Y va apărea din nou 0 ca ieșire.

Beneficiile VBA la eroare

  • Putem calcula orice formulă matematică chiar dacă este incorectă.
  • Pentru structuri de codificare mai mari, în cazul în care există șanse sau au o eroare, utilizarea GoTo poate da un rezultat corect chiar și în rândul codurilor.
  • Acest lucru dă un rezultat mai bun în comparație cu rezultatul obținut din calcule normale Excel, în ciuda faptului că nu are un argument incorect.

Lucruri de amintit

  • Amintiți-vă fișierului din fișierul Excel Macro-Enabled, astfel încât să putem utiliza codul VBA creat de mai multe ori de mai multe ori.
  • Compilați codul scris înainte de a implementa cu orice cerință excel.
  • Puteți atribui codul scris oricărui buton, astfel încât să putem face rapid clic pe buton și să executăm codul.
  • Utilizați eticheta așa cum se arată în exemplul 2 în mod corespunzător, astfel încât vom obține rezultatul pentru codul complet corect.

Articole recomandate

Acesta a fost un ghid pentru VBA GoTo statement. Aici am discutat despre cum să folosiți declarația Excel VBA GoTo împreună cu câteva exemple practice și șablonul excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Cum se utilizează bucle Excel VBA?
  2. Funcția VBA în Excel
  3. Ghid pentru gama în Excel
  4. Cum se utilizează funcția VBA VLOOKUP?

Categorie: