Úvod do Excel VBA Call Sub

Vo VBA máme funkciu CALL, ktorá sa používa na volanie hodnôt uložených v inej podkategórii alebo čiastkovej procedúre. Predpokladajme, že sme kód niekde napísali v zošite, teraz pri písaní iného kódu potrebujeme ten istý kód, ktorý bol napísaný skôr. Namiesto toho, aby sme znova písali rovnaký kód, môžeme tento úplný kód alebo procedúru Sub zavolať do aktuálnej podkategórie alebo procedúry Sub. Tým sa môžete vyhnúť opakovanému vykonávaniu tej istej činnosti zošita.

Ako volať Sub v Excel VBA?

Nižšie sú uvedené rôzne príklady na volanie Sub v Excel VBA:

Túto šablónu VBA Call Sub Excel si môžete stiahnuť tu - VBA Call Sub Excel Template

Výzva Excel VBA - príklad č. 1

Najprv sa pozrime na jediný príklad, kde budeme VYVOLAŤ už napísanú podkategóriu kódu alebo postup. Na tento účel potrebujeme modul.

Prejdite do okna VBA a v časti Vložiť ponuku kliknite na modul, ako je to znázornené nižšie.

Potom dostaneme prázdnu stránku alebo okno modulu. Teraz napíšte podkategóriu kódu, ktorý vykonávame, alebo do iného mena, ako je uvedené nižšie.

kód:

 Vedľajšie volanie () Koniec 

Teraz použite príkaz v okne správy a do textového poľa zadajte text alebo slovo, ktoré chcete vidieť. Tu používame „ First “, ako je uvedené nižšie.

kód:

 Vedľajšie volanie () MsgBox ("Prvý") Koniec 

Teraz zostavte kód a spustite ho kliknutím na tlačidlo Prehrať, ktoré sa nachádza pod panelom s ponukami. Uvidíme okno so správou „ Prvá “, ako je to znázornené nižšie.

Teraz po ukončení v rovnakom module napíšte ďalšiu podkategóriu alebo postup do ľubovoľného mena, ako je uvedené nižšie.

kód:

 Čiastkový príchod () Koniec 

V tom opäť použite príkaz MsgBox a dajte mu správu alebo text podľa vášho výberu. Tu sme to dali ako „ druhé “, ako je uvedené nižšie.

kód:

 Sub-Arriving () MsgBox ("Second") End Sub 

Ak teraz spustíme kompletný kód, dostaneme výstup iba z poslednej podkategórie, ktorá je správou obsahujúcou správu „ Second “, ako je uvedené nižšie.

Prichádza funkcia CALL, ktorú použijeme na volanie oboch správ jeden po druhom. Použije sa v prvej podkategórii.

Pre tento typ Zavolajte v prvej podkategórii pred koncom a potom názvom tej podkategórie, ktorej kód chceme zavolať. Ďalej MsgBox používame Volať a potom Príchod, čo je podkategória názvu kódu napísaného nižšie.

kód:

 Vedľajšie volanie () MsgBox („prvý“) Koniec prichádzajúcej volania Sub Sub Príchod () Koniec koncov MsgBox („druhý“) 

Teraz zostavte kompletný kód od začiatku do konca a spustite ho. Uvidíme okno so správou s názvom „Prvá“. Teraz kliknite na OK a pokračujte ďalej. Keď to urobíme, dostaneme druhé okno s hlásením obsahujúce správu „ Druhé “, ako je to znázornené nižšie. A ak znova kliknete na OK, ukončí sa postup.

Čo ak zmeníme pozíciu funkcie volania z pred koncom na po prvej podkategórii, ako je to znázornené nižšie? Teraz nechajte celý kód znova spustiť.

kód:

 Vedľajšie volanie () Hovor prichádzajúci MsgBox ("Prvý") Koniec Vedľajší Vedľajší Sub () MsgBox ("Druhý") Koncový Sub 

Zobrazí sa správa uložená v druhom podprocese ako prvá, po ktorej nasleduje správa „ First “ po kliknutí na tlačidlo OK, ako je to znázornené nižšie.

Takže je to všetko na nás, ktorú procedúru alebo kategóriu Sub chceme zavolať ako prvú.

Výzva Excel VBA - príklad č. 2

Pozrime sa na ďalší príklad, v ktorom pomocou funkcie Hovor zavoláme inú podkategóriu. Na tento účel potrebujeme nový modul. Otvorte modul z ponuky Vložiť. A dáva podkategóriu v akomkoľvek názve, ako je uvedené nižšie.

kód:

 Sub VBACall () Koniec Sub 

Definujte 3 premenné Num1, Num2 a Ans1 v DIM a potom ich priraďte pomocou Long . Môžeme tiež použiť celé číslo alebo dvojité, v závislosti od použitia. Dlhé nám umožní zvážiť akúkoľvek dĺžku čísla.

kód:

 Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long End Sub 

Teraz dajte Num1 a Num2 ľubovoľné číslo podľa vášho výberu. Poskytli sme im 100, respektíve 50 . Zváženie 100 a 50 nám pomôže rýchlo identifikovať výstup.

kód:

 Sub VBACall () Dim Num1 ako Long Dim Num2 ako Long Dim Ans1 As Long Num1 = 100 Num2 = 50 End Sub 

Teraz použite násobiaci vzorec na znásobenie číselných úložísk v Num1 a Num2 a uloženie ich odpovede do premennej Ans1, ako je to znázornené nižšie.

kód:

 Sub VBACall () Dim Num1 ako dlhé Dim Num2 ako dlhé Dim Ans1 Ako dlhé Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

V ďalšom riadku kódu použijeme objekt VBA. Na tento účel vyberte hárok s príkazom Pracovný list a zadajte mu rozsah ľubovoľnej bunky. Bunku rozsahu sme vybrali ako B1. A nakoniec vytlačte výsledok s akýmkoľvek menom, napríklad Výsledkom alebo Odpoveďou, ako je uvedené nižšie.

kód:

 Sub VBACall () Dim Num1 ako dlho Dim Num2 ako dlhé Dim Ans1 ako dlhé Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Pracovné hárky (1) .Range ("B1"). Hodnota = "Odpovedať" End Sub 

Teraz mu dajte miesto, kde chceme vidieť odpoveď rovnakým spôsobom, ako je uvedené vyššie. Tu vyberieme bunku C1 ako výstupnú bunku a tu umiestnime poslednú premennú Ans1 .

kód:

 Sub VBACall () Dim Num1 ako dlho Dim Num2 ako dlho Dim Dim1 Ako dlho Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Pracovné hárky (1) .Range ("B1"). Hodnota = "Odpovedať" Pracovné hárky (1) .Range ("C1"). Hodnota = Ans1 End Sub 

Teraz spustite kód. V bunke C1 uvidíme výsledok násobenia.

Napísanie inej podkategórie pod rovnakým kódom po ukončení.

kód:

 Sub VBACall2 () Koniec sub 

Znovu definujte 3 premenné Num3, Num4 a Ans2 v DIM a potom priraďte pomocou Long.

kód:

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

Dajte Num3 a Num4 rovnaké hodnoty ako 100 a 50 a pridajte obe čísla.

kód:

 Sub VBACall2 () Dim Num3 ako dlhé Dim Num4 ako dlhé Dim Ans2 ako dlhé Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Teraz použite objekt VBA podobným spôsobom, aký bol použitý vyššie, a potom dajte bunku rozsahu ako B2 pre odpoveď a C2 pre výstup Ans2 .

kód:

 Sub VBACall2 () Dim Num3 ako dlhé Dim Num4 ako dlhé Dim Ans2 ako dlhé Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Pracovné hárky (1) .Range ("B2"). Hodnota = "Odpovedať" Pracovné hárky (1) .Range ("C2"). Hodnota = Ans2 End Sub 

Ak chcete volať obidva výsledky jeden po druhom, použite funkciu Hovor, ktorá mu dá názov 2. podkategórie, ako je uvedené nižšie.

kód:

 Sub VBACall () Dim Num1 ako dlho Dim Num2 ako dlho Dim Dim1 Ako dlho Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Pracovné hárky (1) .Range ("B1"). Hodnota = "Odpovedať" Pracovné hárky (1) .Range ("C1"). Hodnota = Ans1 Hovor VBACall2 End Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Worksheet (1) .Range ("B2" ). Hodnota = "Odpovedať" Pracovné hárky (1) .Range ("C2"). Hodnota = Ans2 End Sub 

Teraz zostavte celý kód a spustite ho. Budeme prví v bunke C2, dostaneme výsledok násobenia a v bunke C3 výsledok sčítania.

Aby sme vedeli správnu postupnosť, môžeme použiť príkaz MsgBox, ako sa používa v príklade 1, a zistiť, ktoré hodnoty sa volajú v ktorej sekvencii.

Výhody aplikácie Excel VBA Call Sub

  • VBA Call Sub šetrí čas opakovaným písaním toho istého kódu.
  • Volanie úložiska vedľajších procedúr VBA v rovnakom exceli zníži aj veľkosť excelového súboru.

Čo je potrebné pamätať

  • Ak chcete vidieť postupné spustenie viacerých kódov, použite rámček správ na testovacie účely.
  • Kompilujte väčšie riadky kódu stlačením klávesu F8, aby ste mohli identifikovať chybovú časť.
  • Uložte súbor vo formáte Macro Enable Excel, aby ste si zachovali napísaný kód.
  • Použitím CALL pred End sa najprv spustí prvý kód a po prvom Subprocedure sa spustí prvý kód.

Odporúčané články

Toto je príručka pre VBA Call Sub. Tu diskutujeme o tom, ako volať Sub v Excel VBA spolu s praktickými príkladmi a stiahnuteľnou vynikajúcou šablónou. Môžete si tiež prečítať naše ďalšie navrhované články -

  1. VBA do slučky
  2. SUBTOTAL Formula v Exceli
  3. VBA počas slučky
  4. Funkcia podčiarknutia Excel

Kategórie: