VBA grąža - Kaip naudoti „GoSub“ grąžinimo ataskaitą VBA?

„Excel“ VBA grąžinimo ataskaita

VBA yra nuostabi ir gelbėja tiems, kurie žino VBA kodavimą ir iš jo. Tai gali sutaupyti daug laiko mūsų darbo vietoje. Ankstesniuose straipsniuose aptarėme daugelį dalykų ir VBA grąžinimo sampratų. Viena iš tokių sąvokų yra „GoSub Return“ teiginys. Šiame straipsnyje mes supažindinsime jus su šiomis sąvokomis.

Kas yra „GoSub“ grąžinimo ataskaita?

Pareiškimas „Go Sub“ reiškia, kad jis eis į kodo eilutę, nurodytą etiketėje per pavadinimą, ir atliks konkretų užduoties rinkinį, kol ras teiginį „Return“.

Tai panašu į klaidų tvarkytuvo teiginį „GoTo Label“, tačiau tai, ką daro „GoSub Return“, yra tai, kad jis grįš į kitą kodo eilutę, o ne tęsis nuo etiketės pavadinimo.

Žemiau yra VBA „GoSub Return“ sakinio sintaksė.

„GoSub“ (etiketės pavadinimas)  … kodo eilutė  (etiketės pavadinimas):  … kodo eilutė, skirta užduočiai atlikti

Žinau, kad sunku suprasti skaitant sintaksę, tačiau naudodamiesi pavyzdžiu galbūt suprasite sąvoką.

Prieš pradėdamas pavyzdžius, leiskite man pasakyti keletą dalykų apie šį teiginį.

  • „GoSub“ sakinyje VBA iškviečiamas paprogramė, kuri pavadinta etikete toje pačioje rutinoje ar funkcijoje.
  • Tiek „GoSub“, tiek „Return“ turėtų būti ta pati procedūra. Čia negalime vadinti kitos paprogramės makrokomandos.
  • Galite įvesti bet kokį „GoSub Return“ teiginių skaičių.
  • Grąžinimo pareiškimas tęs kodo vykdymą ten, kur jis baigėsi, prieš pereidamas prie etiketės pavadinimu nurodytos antrinės procedūros.

Kaip naudoti „GoSub“ grąžinimo ataskaitą VBA?

1 pavyzdys

Norėdami suprasti šio teiginio naudojimą, pirmiausia pažvelkite į žemiau pateiktą kodą. Vėliau aš jums paaiškinsiu kodą eilutėje po eilutės.

Kodas:

Sub Go_Sub_Return () GoSub Macro1 'Label Name1 GoSub Macro2' Label Name2 GoSub Macro3 'Label Name3 Exit Sub Macro1: MsgBox "Dabar veikia Macro1" Return Macro2: MsgBox "Dabar veikia Macro2" Return Macro3: MsgBox "Dabar veikia Macro3" Return End "

Norėdami suprasti šį kodą, paleiskite kodą eilutėje po eilutės paspausdami klavišą F8. Pirmą kartą paspaudus klavišą F8, jis pradės makrokomandos veikimą.

Dabar dar kartą paspauskite klavišą F8, kad pereitumėte į kitą eilutę.

Mes visi žinome, kad makrokomanda veiks kodą eilutėje po eilutės, bet jei paspausite klavišą F8, jis nebus einamas į kitą eilutę; veikiau veikia kitaip.

Ji perėjo prie etiketės, pavadintos „Macro1“, nes taip yra todėl, kad ankstesniame pareiškime „GoSub“ nurodėme makrokomandai pereiti prie antrinio proceso etiketės pavadinimo „Macro1“, taigi, atitinkamai, ji perėjo prie atitinkamo etiketės pavadinimo.

Dabar paspaudus klavišą F8, „Excel“ makrokomanda atliks etiketės „Macro1“ užduotį, kad rezultatas būtų rodomas pranešimo laukelyje.

Norėdami grįžti į kodavimo langą, spustelėkite pranešimo langelio Gerai.

Dabar jis pabrėžė teiginį „Grįžti“. Jei dar kartą paspausite klavišą F8, tai padarys tai, kad jis „Grįš atgal“ į ankstesnę kodo eilutę, kol jis pereis prie etiketės pavadinimo.

Paskutinį kartą ji vykdė kodą „GoSub Macro1“ ir atliko etiketės pavadinimo „Macro1“ užduotį. Kadangi mes paminėjome teiginį „Return“, jis grįžta prie kitos kodo eilutės, t

„GoSub Macro2“

Tai, kas sakoma teiginyje, yra „etiketė, pavadinta„ Macro2 “. Žemiau etiketėje „Macro2“ minėjau konkretų užduočių rinkinį.

Dabar gausime antrąją užduotį, pagal kurią parodoma vertė pranešimo laukelyje.

Dabar spustelėkite Gerai. Tai paryškins antrąjį teiginį „Grįžimas“.

Dabar spustelėjus klavišą F8, jis grįš į kitą kodo eilutę, kol grįš prie etiketės „Macro2“. Dabar jis paryškins „GoSub Macro3“.

Dabar jis pateks į etiketę „Macro3“, paspauskite klavišą F8.

Dabar bus vykdoma trečioji etiketės užduotis.

Dabar spustelėkite Gerai. Tai paryškins teiginį „Grįžimas“.

Dabar dar kartą paspauskite klavišą F8; jis grįš atgal į kodo eilutę „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

  • „GoSub“ ir „Return“ sakinyje etiketės pavadinimas turėtų būti toks pats, o grąžinimo sakinio etiketės pavadinime turėtų būti dvitaškis (:).
  • Visada naudokite „Exit Sub“ VBA po to, kai pateikiami visi grąžinimo teiginiai, kad būtų išvengta klaidos pranešimo.

Įdomios straipsniai...