VBA atgriešanās | Kā VBA izmantot GoSub atgriešanās paziņojumu?

Excel VBA atgriešanās paziņojums

VBA ir brīnišķīga un glābiņš tiem, kas zina VBA kodēšanu un ārpus tā, tas var ietaupīt daudz laika mūsu darba vietā. Iepriekšējos rakstos mēs esam apsprieduši daudzas lietas un VBA atdeves jēdzienus. Viens no šādiem jēdzieniem ir GoSub Return paziņojums. Šajā rakstā mēs jūs iepazīstināsim ar šiem jēdzieniem.

Kas ir GoSub atgriešanās paziņojums?

Izraksts “Go Sub” nozīmē, ka tas pāriet uz koda rindiņu, kuru norāda nosaukums ar nosaukumu, un veic noteiktu uzdevuma kopu, līdz atrod paziņojumu “Return”.

Tas ir līdzīgs kļūdu apstrādātāja paziņojumam “GoTo Label”, taču tas, ko dara “GoSub Return”, ir tas, ka tas atgriezīsies nākamajā koda rindā, nevis turpinās no etiķetes nosaukuma.

Zemāk ir VBA GoSub Return paziņojuma sintakse.

GoSub [etiķetes nosaukums] ... .. koda rinda [etiķetes nosaukums]: ... .. koda rinda uzdevuma veikšanai

Es zinu, ka, lasot sintaksi, to ir grūti saprast, bet, izmantojot piemēru, jūs varētu saprast jēdzienu.

Pirms dodos pie piemēriem, ļaujiet man pastāstīt dažas lietas par šo apgalvojumu.

  • GoSub paziņojums izsauc apakšprogrammu vba, kuru nosaukusi etiķete tajā pašā rutīnā vai funkcijā.
  • Gan GoSub, gan Return vajadzētu būt vienas procedūras ietvaros, šeit mēs nevaram izsaukt citu apakšprogrammas makro.
  • Varat ieviest jebkuru skaitu GoSub Return paziņojumu.
  • Atgriešanās paziņojums turpinās koda izpildi no turienes, kur tas tika pārtraukts, pirms pāriet uz apakšprocedūru, ko norāda etiķetes nosaukums.

Kā VBA izmantot GoSub atgriešanās paziņojumu?

Šo VBA Return Excel veidni varat lejupielādēt šeit - VBA Return Excel Template

1. piemērs

Lai saprastu šī paziņojuma lietojumu, vispirms apskatiet zemāk redzamo kodu, vēlāk es jums izskaidrošu kodu pa rindām.

Kods:

 Sub Go_Sub_Return () GoSub Macro1 'Label Name1 GoSub Macro2' Label Name2 GoSub Macro3 'Label Name3 Exit Sub Macro1: MsgBox "Tagad darbojas Macro1" Return Macro2: MsgBox "Tagad darbojas Macro2" Return Macro3: MsgBox "Tagad darbojas Macro3" Return Sub " 

Lai saprastu šo kodu, tas var palaist kodu pa rindai, nospiežot taustiņu F8. Pirmo reizi nospiežot taustiņu F8, tiks uzsākta makro darbība.

Tagad vēlreiz nospiediet taustiņu F8, lai pārietu uz nākamo rindu.

Mēs visi zinām, ka makro palaidīs kodu pa rindām, bet, nospiežot taustiņu F8, tas netiks pāriet uz nākamo rindu, drīzāk tas darbojas citādi.

Tas ir pārcēlies uz etiķeti, kas nosaukta kā “Macro1”, tas ir tāpēc, ka iepriekšējā paziņojumā “GoSub” mēs esam uzdevuši makro pāriet uz apakšprocedūras etiķetes nosaukumu “Macro1”, tāpēc attiecīgi tas ir pārgājis uz attiecīgās etiķetes nosaukumu.

Tagad, nospiežot taustiņu F8, excel makro izpildīs etiķetes “Macro1” uzdevumu parādīt rezultātu ziņojumu lodziņā.

Lai atgrieztos kodēšanas logā, noklikšķiniet uz ziņojuma lodziņa Labi.

Tagad tas ir uzsvēris paziņojumu “Atgriezties”, ja vēl vienu reizi nospiedīsit taustiņu F8, tas tiks darīts, tas būs “Atgriezties” uz iepriekšējo koda rindu, pirms tas pāriet uz etiķetes nosaukumu.

Pēdējo reizi tas izpildīja kodu “GoSub Macro1” un izpildīja etiķetes nosaukuma “Macro1” uzdevumu, jo mēs jau pieminējām paziņojumu “Return”, un tas ir atpakaļ uz nākamo koda rindu, ti,

“GoSub Macro2”

Paziņojumā teikts: “marķējums ar nosaukumu Macro2”. Zemāk par etiķeti “Macro2” esmu pieminējis konkrētu uzdevumu kopumu.

Tagad mēs saņemsim otro apakšprocedūras uzdevumu parādīt vērtību ziņojuma lodziņā.

Tagad noklikšķiniet uz Labi, lai izceltu otro paziņojumu “Return”.

Noklikšķinot uz taustiņa F8, tas atgriezīsies nākamajā koda rindā, pirms tas atgriezīsies pie etiķetes “Macro2”. Tagad tas iezīmēs “GoSub Macro3”.

Tagad tas nonāks pie etiķetes “Macro3”, nospiediet taustiņu F8.

Tagad tiks izpildīts trešais etiķetes uzdevums.

Tagad noklikšķiniet uz Labi, tas iezīmēs paziņojumu “Return”.

Tagad vēlreiz nospiežot taustiņu F8, tas pāriet atpakaļ uz koda rindiņu “Exit Sub”.

Nē, tas izies no apakšprogrammas. Nepieciešams pievienot vārdu “Exit Sub”, pretējā gadījumā tas radīs kļūdu.

2. piemērs

Tagad apskatiet vēl vienu GoSub Return paziņojuma izmantošanas piemēru.

Kods:

 Sub Go_Sub_Return1 () Dim Num As Long Num = Application.InputBox (uzvedne: = "Lūdzu, ievadiet šeit numuru", nosaukums: = "Divsionācijas numurs") Ja Num> 10, tad GoSub nodaļas Cita MsgBox "numurs ir mazāks par 10" Iziet Apakšdaļa, ja iziet no apakšnodaļas: MsgBox Num / 5 Atgriezt beigu apakšnodaļu 

Šis kods prasīs ievadīt skaitli, kas ir> 10, ja skaitlis ir> 10, tas veiks uzdevumu to sadalīt ar 5 (etiķetes nosaukums ir “Sadalījums”), vai arī tas parādīs ziņojumu kā “Numurs ir mazāks par 10 ”.

Atceramās lietas

  • Etiķetes nosaukumam GoSub un Return paziņojumā ir jābūt vienādam, savukārt atgriežamās izraksta etiķetes nosaukumam ir jāseko kolai (:).
  • Vienmēr izmantojiet Exit Sub VBA pēc visu atgriešanās paziņojumu izpildīšanas, lai izvairītos no kļūdas ziņojuma.

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