VBA Call Sub (průvodce krok za krokem) | Jak volat podprogram v aplikaci Excel VBA?
Co je Call Sub ve VBA?
Můžeme provést všechny dílčí procedury stejného modulu v jediném podprogramu a proces jejich provádění v jediném podprogramu VBA s názvem „Call Sub“.
V některých případech možná budeme muset napsat obrovské množství kódu a jejich zápis v jediném makru způsobí při ladění kódu spoustu problémů. Na začátku má každý tendenci to dělat čistě kvůli nedostatku znalostí o metodě „Call Sub“.
Není dobrým zvykem udržovat všechny kódy v jednom dílčím postupu, musíme je rozdělit do několika dílčích postupů, abychom kód zjednodušili.
Jak volat podprogram v aplikaci Excel VBA?
Spuštění makra aplikace Excel z jedné procedury do druhé usnadňuje život čistě na základě úspory spousty času při běhu a také při ladění kódu v případě jakékoli chyby.
Tuto šablonu VBA Call Sub Excel si můžete stáhnout zde - Šablona VBA Call Sub Excel
Kód:
Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub
Na obrázku výše máme dva podprocesy. První je „Code_1“ a druhý je „Code_2“.
V prvním subkódu volání VBA jsem právě napsal kód pro vložení hodnoty do buňky A1 jako „Hello“. Ve druhém dílčím postupu jsem napsal kód pro změnu barvy interiéru buňky A1 na „rgbAquamarine“.
Nyní spustím první kód, tj. „Code_1“.
Nyní spustím druhý kód, tj. „Code_2“.
Tady jsem provedl časy kódu.
Použitím VBA „call Sub“ můžeme provést oba podprocesy pouze v jediném makru. Musíme jen přidat slovo „Call“ následované názvem makra.
Podívejte se na níže uvedený grafický obrázek.
Uvedl jsem kód jako „Call Code_2“ pouze v prvním podprocesu. Abychom pochopili, pojďme spustit kód po řádku. Stisknutím klávesy F8 zvýrazníte název makra.
Dalším stisknutím klávesy F8 přejdete na další řádek.
Žlutě zbarvená čára ukazuje zvýrazněný kód, který se chystá provést, pokud stiskneme klávesu F8 ještě jednou. Nyní stiskněte klávesu F8.
Jak vidíme, vložilo slovo „Hello“ do buňky A1. Nyní byla zvýrazněna linka „Call Code_2“.
„Call Code_2“ má za úkol změnit barvu interiéru buňky A1 a slovo „Call Code_2“ provede tento kód pouze ze skutečné dílčí procedury.
Chcete-li však kouzlo vidět, stiskněte klávesu F8.
Přeskočil na uvedený název podprocesu. Stiskněte znovu klávesu F8.
Nyní je zvýrazněna aktuální řádka úkolu, k provedení tohoto stisknutí klávesy F8 ještě jednou.
Takto můžeme provést mnoho dílčích procedur z jednoho dílčího postupu voláním dílčího postupu jejich jménem se slovem „Volat“.
Poznámka:
- Makro jiného dílčího postupu můžeme spustit bez použití slova „Call“, ale pouze s uvedením samotného názvu makra.
- Toto není nejlepší postup, protože pokud dílčí procedura makra obsahuje závorky, které chcete provést, je slovo „Hovor“ povinné.
- Podle mého osobního názoru vždy používejte slovo „Volat“, protože je to jen čtyřmístné slovo, které ostatním umožňuje správně pochopit kód.