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, todėl 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 tam tikrą užduoties rinkinį, kol ras teiginį „Return“.

Tai panašu į klaidų tvarkytuvo teiginį „GoTo Label“, tačiau „GoSub Return“ daro 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ė užduočiai atlikti

Žinau, kad sunku suprasti skaitant sintaksę, tačiau naudodamas pavyzdį galbūt suprasi sąvoką.

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

  • „GoSub“ sakinys vba vadina 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?

Šį „VBA Return Excel“ šabloną galite atsisiųsti čia - „VBA Return Excel“ šablonas

1 pavyzdys

Norėdami suprasti šio teiginio naudojimą, pirmiausia pažiūrėkite į žemiau pateiktą kodą, vėliau aš jums paaiškinsiu kodą eilutėje po eilutę.

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ą, galite paleisti kodą eilutėje po eilutės paspausdami klavišą F8. Pirmą kartą paspaudus klavišą F8, bus paleista makrokomanda.

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ę, o veikia kitaip.

Jis perėjo prie etiketės, pavadintos „Macro1“, taip yra todėl, kad ankstesniame teiginyje „GoSub“ nurodėme makrokomandai pereiti prie antrinio proceso etiketės pavadinimo „Macro1“, todėl 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.

Spustelėkite pranešimo langelio Gerai, kad grįžtumėte į kodavimo langą.

Dabar jis paryškino teiginį „Grįžti“, jei dar kartą paspausite klavišą F8, ką jis darys, tai jis „Grįš atgal“ į ankstesnę kodo eilutę, kol jis pereis prie etiketės pavadinimo.

Paskutinį kartą jis vykdė kodą „GoSub Macro1“ ir atliko etiketės pavadinimo „Macro1“ užduotį, nes minėjome „Return“ sakinį, jis grįžo į kitą kodo eilutę, 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, jis paryškins antrąjį teiginį „Grąžinti“.

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

Dabar jis bus pažymėtas etikete „Macro3“, paspauskite klavišą F8.

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

Dabar spustelėkite Gerai, jis paryškins teiginį „Grąžinti“.

Dabar dar kartą paspaudus klavišą F8, jis vėl grįš į kodo eilutę „Exit Sub“.

Ne, ji išeis iš paprogramės. Būtina pridėti žodį „Exit Sub“, kitaip jis susidurs su klaida.

2 pavyzdys

Dabar pažvelkite į dar vieną „GoSub Return“ teiginio naudojimo pavyzdį.

Kodas:

 Sub Go_Sub_Return1 () Dim Num As Long Num = Application.InputBox (Paraginti: = "Prašome įvesti skaičių čia", Pavadinimas: = "Divsiono numeris") Jei Num> 10, tada „GoSub“ skyrius Kita MsgBox "Skaičius yra mažesnis nei 10" Išeiti Pabaigos pabaiga, jei išeinate iš pogrupio: MsgBox Num / 5 Grąžinkite pabaigos pogrupį 

Šis kodas paprašys įvesti skaičių, kuris yra> 10, jei skaičius yra> 10, jis atliks užduotį padalinti jį iš 5 (Etiketės pavadinimas yra „Skyrius“), arba jis parodys pranešimą kaip „Skaičius yra mažiau nei 10 “.

Ką reikia atsiminti

  • Etiketės pavadinimas turi būti toks pats „GoSub“ ir „Return“ sakinyje, o grįžtamojo sakinio etiketės pavadinime turėtų būti dvitaškis (:).
  • Visada naudokite „Exit Sub“ VBA atlikę visus grąžinimo sakinius, kad išvengtumėte klaidos pranešimo.

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