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.