Bevezetés az Excel VBA Call Sub alpontjába

A VBA-ban CALL funkciónk van, amelyet egy másik alkategóriában vagy al eljárásban tárolt értékek hívására használunk. Tegyük fel, hogy írtunk egy kódot valahol a munkafüzetbe, míg egy másik kód írásakor ugyanahhoz a kódhoz van szükségünk, amelyet korábban írtunk. Tehát ahelyett, hogy ugyanazt a kódot újra beírnánk, meghívhatjuk a teljes kódot vagy al eljárást a jelenlegi alkategóriába vagy al eljárásba. Ezzel elkerülhető, hogy újra és újra elvégezze a munkafüzet ugyanazon tevékenységét.

Hogyan hívhatjuk meg az Sub alkalmazást az Excel VBA alkalmazásban?

Az alábbiakban találhatók különféle példák az Sub hívására az Excel VBA alkalmazásban:

Itt letöltheti ezt a VBA Call Sub Excel sablont - VBA Call Sub Excel sablon

Excel VBA hívás 1. alpélda

Először lássunk egyetlen példát, ahol felhívjuk a már megírt kód alkategóriát vagy eljárást. Ehhez modulra van szükségünk.

Lépjen a VBA ablakba, és a Beszúrás menüpont alatt kattintson a modulra, az alább látható módon.

Ezután kapunk egy üres oldalt vagy ablakot a modulból. Írja be a kód alkategóriáját, amelyet végrehajtunk, vagy bármely más névvel, az alább látható módon.

Kód:

 Alhívás () Befejezés Alsó 

Most használja az üzenet mező parancsát, és írja be az üzenet mezőbe bármilyen szöveget vagy szót. Itt az „ Első ” kifejezést használjuk, amint az alább látható.

Kód:

 Sub Calling () MsgBox ("First") End Sub 

Most fordítsa le a kódot, és futtassa a lejátszás gombra kattintva, amely a menüsor alatt található. Látni fogjuk egy üzenődobozt, amely tartalmazza az „ Első ” üzenetet, az alább látható módon.

Most, ugyanazon modul vége után, írjon újabb alkategóriát vagy eljárást bármilyen névre, az alább látható módon.

Kód:

 Sub Érkezés () Sub Sub 

Ebben az esetben ismét használja az MsgBox parancsot, és adjon neki üzenetet vagy szöveget a választása szerint. Itt adtuk „ Másodiknak ”, amint az alább látható.

Kód:

 Sub Érkezés () MsgBox ("Második") End Sub 

Most, ha futtatjuk a teljes kódot, akkor csak az utolsó alkategória kimenetet kapjuk, amely egy „ Második ” üzenetet tartalmazó üzenődoboz, az alább látható módon.

Itt jön a CALL funkció, amelyet mindkét üzenet egyenként történő meghívására használunk. Ezt az első alkategóriában fogják használni.

Erre a típusra hívja meg az első alkategóriát a vége elõtt, majd kövesse annak az alkategóriának a nevét, amelynek kódját fel akarjuk hívni. Az MsgBox a továbbiakban a Hívást, majd az Érkezés funkciót használja, amely az alábbiakban megadott kód alkategória neve.

Kód:

 Alhívás () MsgBox ("Első") Hívás érkezése End Sub Sub Érkezés () MsgBox ("Second") End Sub 

Most fordítsa le a teljes kódot az elejétől a végéig, és futtassa azt. Látni fogjuk az „Első” üzenettel elnevezett üzenetmezőt. Most kattintson az OK gombra a folytatáshoz. Miután ezt megtettük, megkapjuk a második üzenetdobozt, amely tartalmazza az alább látható „ Második ” üzenetet. És ha újra kattint az OK-ra, akkor kilép az eljárásból.

Mi lenne, ha megváltoztatnánk a Hívás funkció pozícióját a vége elõtt az elsõ alkategória után, az alább látható módon? Most hadd futtassuk újra a teljes kódot.

Kód:

 Sub Calling () Call érkező MsgBox ("első") End Sub Sub érkezés () MsgBox ("Second") End Sub 

Először megjelenik a második alfolyamatban tárolt üzenet, amely a „ Második ”, majd az „ Első ” üzenet, amikor az OK gombra kattintunk, az alább látható módon.

Tehát mind rajtunk múlik, melyik alprogramot vagy kategóriát szeretnénk először hívni.

Excel VBA hívás 2. alpélda

Lássunk egy másik példát, ahol a Hívás funkciót fogjuk felhasználni a különböző alkategóriák felhívására. Ehhez új modulra van szükségünk. Nyissa meg a modult a Beszúrás menüből. És ez alcsoportot ad bármilyen névben, az alább látható módon.

Kód:

 Sub VBACall () Vége Sub 

Definiáljon 3 változót, Num1, Num2 és Ans1 a DIM-ben, és rendelje azt a Long- kel. Használhatjuk az egész számot vagy a kettős felhasználót is, felhasználásától függően. A hosszú lehetővé teszi számunkra, hogy a szám bármilyen hosszát figyelembe vegyük.

Kód:

 Sub VBACall () Dim Num1 Amíg Dim Num2 Amíg Dim Ans1 Am Long End Sub 

Most adjon tetszőleges számot a Num1 és a Num2 számára . 100, illetve 50 adtunk nekik. A 100-as és az 50-es szám figyelembe vétele segít a kimenet gyors azonosításában.

Kód:

 Sub VBACall () Dim Num1 Amíg Dim Num2 Amíg Dim Ans1 Am Long Num1 = 100 Num2 = 50 End Sub 

Most a szorzási képlettel szorozzuk meg a Num1 és Num2 tárolókat, és tároljuk válaszukat az Ans1 változóban, az alább látható módon.

Kód:

 Sub VBACall () Dim Num1 Amíg Dim Num2 Amíg Dim Ans1 Am Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

A következő sorban a VBA objektumot fogjuk használni. Ehhez válassza ki a lapot a Munkalap paranccsal, és adjon meg egy tetszőleges cellát. A tartománysejtet B1-re választottuk. És végül nyomtassa ki az eredményt bármilyen névvel, például Eredmény vagy Válasz, amint az alább látható.

Kód:

 Sub VBACall () Dim Num1 Amíg Dim Num2 Amíg Dim Ans1 Am Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 munkalapok (1) .Range ("B1") Value = "Answer" End Sub 

Most adja meg azt a helyet, ahol a választ látni szeretnénk, a fentebb látható módon. Itt a C1 cellát választjuk kimeneti cellává, és itt tesszük az Ans1 utolsó változóját.

Kód:

 Sub VBACall () Dim Num1 Amíg Dim Num2 Amíg Dim Ans1 Am Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 munkalapok (1) .Range ("B1") Value = "Answer" Munkalapok (1) .Range ("C1") Érték = Ans1 End Sub 

Most futtassa a kódot. A szorzás eredményét látjuk a C1 cellában.

Egy másik alkategória írása ugyanazon kód alá a Vég után.

Kód:

 Sub VBACall2 () End Sub 

Ismételje meg a DIM-ben 3 Num3, Num4 és Ans2 változót , majd rendelje hozzá a Long értékhez .

Kód:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long End Sub 

Adja meg a Num3 és Num4 értékeket ugyanolyan értékekkel, mint a 100 és az 50, és adja hozzá mind a számokat.

Kód:

 Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Most használja a VBA Object-et a fentiekhez hasonló módon, és adja meg a tartomány cellát B2 válaszként és C2 értékként az Ans2 kiadásához .

Kód:

 Sub VBACall2 () Dim Num3 Amíg Dim Num4 Amíg Dim Ans2 Amilyen Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Munkalapok (1) .Range ("B2") Value = "Answer" Munkalapok (1) .Range ("C2"). Érték = Ans2 End Sub 

Mindkét eredmény egyenkénti felhívásához használja a Hívás funkciót, és az alább látható módon adja meg a második alkategória nevét.

Kód:

 Sub VBACall () Dim Num1 Amíg Dim Num2 Amíg Dim Ans1 Am Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Munkalapok (1) .Range ("B1") Érték = "Válasz" Munkalapok (1) .Range Érték = Ans1 Hívás VBACall2 Vége Sub Sub VBACall2 () Dim Num3 Amíg Dim Num4 Amíg Dim Ans2 Amilyen Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 munkalapok (1) .Range ("B2") ) .Value = "Válasz" Munkalapok (1) .Range ("C2"). Érték = Ans2 End Sub 

Most fordítsa le a teljes kódot, és futtassa. Az elsőket a C2 cellában fogjuk megkapni, a szorzás eredményét, a C3 cellában pedig az összeadás eredményét.

A helyes sorrend megismeréséhez használhatjuk az MsgBox parancsot, amint azt az 1. példában használtuk, és megnézhetjük, hogy melyik értékek melyik sorozatot hívják.

Az Excel VBA Call Sub előnyei

  • A VBA Call Sub időt takarít meg, amikor ugyanazt a kódot újra és újra beírja.
  • A VBA alprocedúra tárolójának ugyanabba az excelbe történő felhívása az Excel fájl méretét is csökkenti.

Dolgok, amikre emlékezni kell

  • Használja az üzenet mezőt teszt céljából, hogy megnézze a több kód egymást követő futtatását.
  • Fordítsa össze a nagyobb kódsorokat az F8 billentyű megnyomásával, hogy a hibarész azonosítható legyen.
  • Mentse a fájlt makró engedélyezése Excel formátumban az írott kód megőrzéséhez.
  • A CALL használatának befejezése az End elõtt futtatja az elsõ kódot, az elsõ Subprocedure után pedig a második kódot.

Ajánlott cikkek

Ez egy útmutató a VBA Call Sub-hoz. Itt tárgyaljuk, hogyan lehet Sub-t hívni az Excel VBA-ban, valamint a gyakorlati példákat és a letölthető Excel sablont. Megnézheti más javasolt cikkeinket -

  1. VBA Csináld, amíg a hurok
  2. SUBTOTAL képlet Excelben
  3. VBA Míg a hurok
  4. Az Excel függvény alsávja

Kategória: