Čo je Call Sub vo VBA?
Všetky podprocesy toho istého modulu môžeme vykonať v jednom podprogramu a proces ich vykonania v jednom podprogramu VBA s názvom „Call Sub“.
V niektorých prípadoch možno budeme musieť napísať obrovské množstvo kódu a ich zápis do jedného makra spôsobí pri ladení kódu veľa problémov. Na začiatku má každý tendenciu robiť to čisto kvôli nedostatku vedomostí o metóde „Call Sub“.
Nie je dobrým zvykom uchovávať všetky kódy v jednom podprocese. Musíme ich rozdeliť do viacerých čiastkových postupov, aby sme zjednodušili kód.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba_.png.webp)
Ako volať podprogram v programe Excel VBA?
Spustenie makra programu Excel z jednej procedúry na druhú uľahčuje život čisto na základe úspory času pri behu a tiež ladenia kódu v prípade akejkoľvek chyby.
Kód:
Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__2.png.webp)
Na vyššie uvedenom obrázku máme dva podprocesy. Prvý z nich je „Code_1“ a druhý z nich je „Code_2“.
V prvom subkódu volania VBA som práve napísal kód na vloženie hodnoty do bunky A1 ako „Hello“. V druhej čiastkovej procedúre som napísal kód na zmenu farby interiéru bunky A1 na „rgbAquamarine“.
Teraz spustím prvý kód, tj. „Code_1“.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba_.gif)
Teraz spustím druhý kód, tj. „Code_2“.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__2.gif)
Tu som vykonal časy kódu.
Použitím VBA „call Sub“ môžeme vykonať obidva podprocesy iba v jednom makre. Musíme len pridať slovo „Zavolať“ a za ním názov makra.
Pozrite sa na nasledujúci grafický obrázok.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__3.png.webp)
Kód som spomenul ako „Call Code_2“ iba v prvom podprocese. Teraz, aby sme to pochopili, spustime kód po riadku. Stlačte kláves F8. Zvýrazní sa názov makra.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__4.png.webp)
Ďalším stlačením klávesu F8 prejdete na ďalší riadok.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__5.png.webp)
Žlto zafarbený riadok ukazuje, že sa zvýraznený kód chystá vykonať, ak stlačíme kláves F8 ešte raz. Teraz stlačte kláves F8.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__6.png.webp)
Ako vidíme, do bunky A1 vložilo slovo „ahoj“. Teraz je zvýraznený riadok „Call Code_2“.
„Call Code_2“ má za úlohu zmeniť farbu interiéru bunky A1 a slovo „Call Code_2“ vykoná tento kód iba od skutočnej čiastkovej procedúry.
Ale stlačte kláves F8, aby ste videli kúzlo.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__7.png.webp)
Preskočil na spomínaný názov podprocesu. Znova stlačte kláves F8.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__8.png.webp)
Teraz je zvýraznený aktuálny riadok úloh. Ak ho chcete vykonať, stlačte kláves F8 ešte raz.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__9.png.webp)
Takto môžeme vykonať mnoho čiastkových postupov z jedného podprocesu tak, že podproces zavoláme ich menom so slovom „Zavolať“.
Poznámka:
- Makro iného subprocesu môžeme vykonať bez použitia slova „Zavolať“, ale iba s uvedením samotného názvu makra.
- Toto nie je najlepší postup, pretože ak čiastkový postup makra obsahuje zátvorky, ktoré chcete vykonať, je slovo „Zavolať“ povinné.
- Podľa môjho osobného názoru vždy používajte slovo „Volať“, pretože ide iba o 4-písmenné slovo, ktoré umožňuje ostatným správne porozumieť kódu.