Efnisyfirlit
Í þessari grein mun ég sýna þér hvernig þú getur hringt í Sub frá öðrum Sub eða Funktion í VBA í Excel . Þú munt læra að kalla Sub með eða án röksemda, sem og bæði Public og Private Subs .
Hvernig á að hringja í Sub í VBA í Excel (Quick View)
Athugið: Hér er Sub sem heitir Sub2 kallar á Sub sem heitir Sub1 .
Hlaða niður æfingabók
VBA Call Sub.xlsm
Sæktu þessa æfingabók til að framkvæma verkefnið á meðan þú ert að lesa þessa grein.
4 Leiðir til að hringja í Sub í VBA í Excel
Hér höfum við Sub í VBA sem heitir Sub1 .
Ef þú keyrir Sub1 færðu skilaboðin “Sub1 is Run.”
Í dag Markmið okkar er að læra hvernig við getum kallað þetta Sub frá öðrum Sub eða Funktion á alla mögulega vegu.
1. Hringdu í undir án röksemda frá öðrum undir í VBA í Excel
Fyrst munum við kalla undir án nokkurra röka frá öðrum undir í VBA .
Hér er Sub1 Sub án rök.
Nú köllum við Sub undir1 frá öðrum Sub sem heitir Sub2 .
Til að hringja í Sub1 frá öðrum Sub þarftu til að nota kóðalínuna:
Sub1
Eða
Call Sub1
Nú ef þú keyrir Sub2 , Sub1 verður kallað og skilaboðin “Sub1 is Run.” munu birtast.
2. Hringdu í undir með rökum frá öðrum undir í VBA í Excel
Nú köllum við undir með rökum frá öðrum undir í VBA .
Hér höfum við breytt Sub Sub1 á þann hátt að það inniheldur rök sem kallast Input_Value , og hvenær keyra, sýnir þessi rök.
Til að kalla þetta Sub frá öðrum Sub ( Sub2 ), við verðum að nota kóðalínuna:
Sub1(Input_Value)
Eða
Call Sub1(Input_Value)
Hér höfum við notað:
Call Sub1(10)
Nú, þegar við keyrum Sub2 , verður Sub1 kallað með inntakinu 10 og 10 birtist í Skilaboðakassi .
Svipuð lestur:
- Hvernig á að skila gildi í VBA aðgerð (bæði fylki og ekki fylki)
- Notaðu LCase aðgerð í VBA í Excel (með 4 dæmum)
- Hvernig á að Notaðu VBA SPLIT aðgerð í Excel (5 dæmi)
- Notaðu TRIM aðgerð í VBA í Excel (skilgreining + VBA kóða)
3. Hringdu í undir með/án rökum frá notendaskilgreindri aðgerð í VBA í Excel
Þú getur líka hringt í undir úr notendaskilgreindri aðgerð í VBA .
⧭ Undir án röka
Köllum fyrst Sub án röksemda .
Hér höfum við aftur breyst Sub Sub1 við þann sem er án rök.
Nú munum við búa til Function sem heitir Funktion1 og hringdu í Sub1 úr þeirri aðgerð.
Til að hringja í Sub úr falli er kóðalínan sem á að nota sú sama :
Sub1
Eða
Call Sub1
Nú, ef þú setur Funktion1 inn í einhvern reit á vinnublaðinu þínu, verður Sub1 kallað og skilaboðakassi mun sýna “Sub1 is Run.” .
⧭ Undir með rökum
Þú getur líka kallað Sub með rökum frá Notandaskilgreindri aðgerð í VBA í Excel .
Hér höfum við breytt Sub1 í þann með rökum aftur.
Nú höfum við kallað Sub1 frá Funktion1 með kóðalínunni:
Call Sub1(10)
Nú ef við setjum inn Funktion1 í hvaða reit sem er á vinnublaðinu okkar mun það sýna 10 í skilaboðaboxi .
4. Hringdu í einkaundirbúning frá öðrum undir eða aðgerð í VBA í Excel
Hingað til höfum við kallað opinber undirboð frá öðrum undirbúanda eða Virka . Að þessu sinni sýnum við hvernig þú getur hringt í Private Sub frá öðrum Sub eða aðgerð í VBA .
⧭ Hringing frá undirmanni:
Þú getur aðeins hringt í einkaundirmann frá öðrum undirmanni ef þeir tveir eru í sömu einingu í VBA glugganum þínum.
Hérvið höfum breytt Sub1 í Private Sub með því að bæta hugtakinu Private við í fyrstu línu. Og kallaði það frá Sub2 sem er í sömu einingu.
Nú ef þú keyrir Sub2 færðu Skilaboðakassi sem sýnir 10 .
⧭ Hringt úr falli:
Sama fyrir aðgerðir. Til að hringja í Private Sub úr aðgerð í VBA verða Sub og aðgerð að vera í sama eining.
Hér höfum við sett inn Private Sub Sub1 og Function Function1 í sömu einingu.
Ef við setjum Funktion1 inn í einhvern reit á vinnublaðinu okkar mun skilaboðakassi sýna 10 .
Samantekt
Hér er samantekt á öllum atriðum sem rædd eru í dag:
- Þú getur hringt í Sub úr annarri Sub eða Notandaskilgreindri aðgerð í VBA með því að nota hugtakið “Call” með nafninu af Sub , eða einfaldlega að setja nafn Sub .
- Ef Sub sem á að kalla inniheldur rök , þú verður að kalla Sub með hvaða gildi sem er af þeim rökum .
- Ef Sub sem á að kalla er lýst sem Privat einn, þú verður að kalla hann frá öðrum Sub eða Function sömu einingarinnar.
Niðurstaða
Með því að nota þessar aðferðir, þú getur hringt í Sub frá öðrum Sub eða aðgerð í VBA í Excel. Hefur þú einhverjar spurningar? Ekki hika við að spyrja okkur.