VBA Return - Hogyan kell használni a GoSub Return Statement-et a VBA-ban?

Tartalomjegyzék

Excel VBA Return Statement

A VBA csodálatos és életmentő azok számára, akik ismerik a VBA kódolását. Rengeteg időt takaríthat meg a munkahelyünkön. Korábbi cikkeinkben sok dolgot és koncepciót taglaltunk a VBA-hozamról. Az egyik ilyen fogalom a GoSub Return utasítás. Ebben a cikkben ezeket a fogalmakat ismertetjük meg.

Mi a GoSub visszatérési nyilatkozata?

A „Go Sub” utasítás azt jelenti, hogy a címke által a néven keresztül jelzett kódsorra fog menni, és a feladat egy meghatározott készletét addig hajtja végre, amíg meg nem találja a „Return” utasítást.

Ez hasonló a „GoTo Label” hibakezelő utasításhoz, de a „GoSub Return” az, hogy visszatér a következő kódsorra, ahelyett, hogy folytatná a címke nevét.

Az alábbiakban bemutatjuk a VBA GoSub Return utasítás szintaxisát.

GoSub (Címke neve)  …  Kódsor (Címke neve) :  … Kódsor a feladat végrehajtásához

Tudom, hogy a szintaxist elolvasva nehéz megérteni, de a példa segítségével talán megérted a fogalmat.

Mielőtt példákat mutatnék be, hadd mondjak el néhány dolgot erről az állításról.

  • A GoSub utasítás a szubrutint hívja meg a VBA-ban, amelyet ugyanabban a rutinban vagy függvényben egy címke nevez meg.
  • A GoSub és a Return egyaránt ugyanazon eljáráson belül legyen. Itt nem hívhatunk újabb szubrutin makrót.
  • Tetszőleges számú GoSub Return utasítást vezethet be.
  • A visszatérési utasítás folytatja a kód végrehajtását onnan, ahonnan abbahagyta, mielőtt átugrott a címke nevével jelzett alfolyamatra.

Hogyan kell használni a GoSub Return Statement-et a VBA-ban?

1. példa

A nyilatkozat használatának megértéséhez először nézze meg az alábbi kódot. Később soronként elmagyarázom neked a kódot.

Kód:

Sub Go_Sub_Return () GoSub Macro1 'Címke neve1 GoSub Macro2' Címke neve2 GoSub Macro3 'Címke neve3 Kilépés Sub makró1: MsgBox "Most futó makró1" Visszatérés makró2: MsgBox "Most futó makró2" Visszatérés makró3: MsgBox "Most futó makró3" Vissza alrész

A kód megértéséhez futtassuk a kódot soronként az F8 billentyű lenyomásával. Az F8 billentyű első megnyomásakor a makró futása elindul.

Most nyomja meg még egyszer az F8 billentyűt, hogy a következő sorra lépjen.

Mindannyian tudjuk, hogy a makró soronként futtatja a kódot, de ha megnyomja az F8 billentyűt, az nem megy a következő sorra; inkább másképp működik.

A „Macro1” elnevezésű címkére ugrott, ez azért van, mert az előző „GoSub” nyilatkozatban arra utasítottuk a makrót, hogy menjen a „Macro1” alfolyamatos címke nevéhez, ezért ennek megfelelően átugrott a megfelelő címke nevére.

Az F8 billentyű lenyomásával az excel makró végrehajtja a „Macro1” címke feladatot, amely megmutatja az eredményt az üzenetmezőben.

A kódolási ablakhoz való visszatéréshez kattintson az üzenet mező Ok gombra.

Most kiemelte a „Return” állítást. Ha még egyszer megnyomja az F8 billentyűt, akkor az megteszi, hogy „Visszatér” az előző kódsorra, mielőtt a címke nevére ugrana.

Legutóbb a „GoSub Macro1” kódot és a „Macro1” címke nevű feladatot hajtotta végre. Mivel megemlítettük a „Return” utasítást, visszatér a kód következő sorához, azaz

„GoSub Macro2”

Az állítás azt mondja: „Macro2 nevű kiadó”. Az alábbiakban a „Macro2” címkéhez konkrét feladatcsoportot említettem.

Most megkapjuk a második alfolyamatos feladatot, amely értéket mutat az üzenetmezőben.

Most kattintson az OK gombra. Kiemeli a második „Return” állítást.

Az F8 gombra kattintva visszatér a következő kódsorra, mielőtt visszatér a „Macro2” címkéhez. Most kiemeli a „GoSub Macro3” -t.

Most a „Macro3” címkére kerül, nyomja meg az F8 billentyűt.

Most végrehajtódik a harmadik címke feladat.

Most kattintson az OK gombra. Kiemeli a „Return” állítást.

Most nyomja meg még egyszer az F8 billentyűt; visszaugrik az „Exit Sub” kódsorra.

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

  • A címke nevének meg kell egyeznie a GoSub és a Return utasításban, a return utasításban pedig a címke nevét kettőspont követi (:).
  • A hibaüzenet elkerülése érdekében mindig használja az Exit Sub elemet a VBA-ban, miután minden visszatérési utasítás elkészült.

érdekes cikkek...