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. 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, iespējams, varēsit saprast šo jēdzienu.

Pirms es aplūkoju piemērus, ļ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. Mēs šeit nevaram saukt 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?

1. piemērs

Lai saprastu šī paziņojuma lietojumu, vispirms apskatiet zemāk esošo 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, palaidīsim kodu pa rindai, nospiežot taustiņu F8. Pirmo reizi nospiežot taustiņu F8, tas sāk makro darbību.

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, ja nospiedīsit taustiņu F8, tas netiks pāriet uz nākamo rindu; drīzāk tas darbojas savādāk.

Tas ir pārgājis uz etiķetes ar nosaukumu “Macro1”, jo 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ņā.

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

Tagad tas bija uzsvēris paziņojumu “Atgriešanās”. Ja vēl vienu reizi nospiedīsit taustiņu F8, tas darīs to, ka tas “Atgriezīsies” 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. Tā kā mēs esam pieminējuši paziņojumu “Return”, tas ir atpakaļ uz nākamo koda rindiņu, ti

“GoSub Macro2”

Paziņojumā teikts: “Iezīme ar nosaukumu Macro2”. Zemāk par etiķeti “Macro2” esmu minē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. Tas uzsvērs otro paziņojumu “Atgriešanās”.

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 uz etiķetes “Macro3”, nospiediet taustiņu F8.

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

Tagad noklikšķiniet uz Labi. Tas uzsvērs paziņojumu “Atgriešanās”.

Tagad vēl vienu reizi nospiediet taustiņu F8; tas atgriezīsies pie koda rindas “Exit Sub”.

No, it will exit the subroutine. It is necessary to add the word “Exit Sub” otherwise, and it will encounter an error.

Example #2

Now take a look at one more example of using the GoSub Return statement.

Code:

Sub Go_Sub_Return1() Dim Num As Long Num = Application.InputBox (Prompt:="Please enter the number here", Title:="Divsion Number") If Num> 10 Then GoSub Division Else MsgBox "Number is less than 10" Exit Sub End If Exit Sub Division: MsgBox Num / 5 Return End Sub

This code will ask you to enter the number which is>10. If the number is>10, then it will perform the task of dividing it by 5 (Label Name is “Division”), or else it will show the message as “Number is less than 10”.

Things to Remember

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

Interesanti raksti...