Podprogram Excel VBA: Jak volat Sub ve VBA s příkladem
Co je podprogram ve VBA?
A Podprogram ve VBA je část kódu, která provádí konkrétní úlohu popsanou v kódu, ale nevrací výsledek ani hodnotu. Podprogramy se používají k rozdělení velkých částí kódu na malé zvládnutelné části. Podprogramy lze vyvolat vícekrát odkudkoli v programu.
Řekněme, že jste vytvořili uživatelské rozhraní s textovými poli pro přijímání uživatelských vstupních dat. Můžete vytvořit podprogram, který vymaže obsah textových polí. Podprogram volání VBA je v takovém scénáři vhodný, protože nechcete vracet žádné výsledky.
Proč používat podprogramy
- Rozdělte kód na malý spravovatelný kód: Průměrný počítačový program má tisíce a tisíce řádků zdrojového kódu. To přináší složitost. Podprogramy pomáhají vyřešit tento problém tím, že rozdělují program na malé zvládnutelné kousky kódu.
- Znovupoužitelnost kódu. Řekněme, že máte program, který potřebuje přístup k databázi, téměř všechna okna v programu budou muset spolupracovat s databází. Namísto psaní samostatného kódu pro tato okna můžete vytvořit funkci, která zpracovává všechny databázové interakce. Poté jej můžete volat z libovolného okna, které chcete.
- Podprogramy a funkce se dokumentují samy. Řekněme, že máte funkci vypočítatÚrok půjčky a další, která říká connectToDatabase. Pouhým pohledem na název podprogramu/funkce bude programátor schopen říci, co program dělá.
Pravidla pojmenování podprogramů a funkcí
Chcete-li používat podprogramy a funkce, existuje sada pravidel, která musíte dodržovat.
- Název podprogramu nebo funkce volání VBA nemůže obsahovat mezeru
- Název podřízeného volání nebo funkce aplikace Excel VBA by měl začínat písmenem nebo podtržítkem. Nemůže začínat číslem nebo speciálním znakem
- Název podprogramu nebo funkce nemůže být klíčové slovo. Klíčové slovo je slovo, které má zvláštní význam VBA. Slova jako Private, Sub, Function a End atd. jsou příklady klíčových slov. Kompilátor je používá pro konkrétní úkoly.
Syntaxe podprogramu VBA
Abyste mohli postupovat podle tohoto příkladu, budete muset povolit kartu Vývojář v aplikaci Excel. Pokud nevíte, jak povolit kartu Vývojář, přečtěte si tutoriál VBA Operatorů
ZDE v syntaxi,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
Vysvětlení syntaxe
Kód | Akce |
---|---|
|
|
|
|
|
|
Následující podprogram přijímá jméno a příjmení a zobrazuje je v okně se zprávou.
Nyní naprogramujeme a provedeme tuto dílčí proceduru. Podívejme se na to.
Jak volat Sub ve VBA
Níže je uveden postup krok za krokem, jak volat Sub ve VBA:
- Navrhněte uživatelské rozhraní a nastavte vlastnosti pro uživatelské ovládací prvky.
- Přidejte podprogram
- Napište kód události kliknutí pro příkazové tlačítko, které volá podprogram
- Otestujte aplikaci
Krok 1) Uživatelské rozhraní
Navrhněte uživatelské rozhraní, jak je znázorněno na obrázku níže.
Nastavte následující vlastnosti. Vlastnosti, které nastavujeme:
S / N | ovládání | Vlastnictví | Hodnota |
---|---|---|---|
1 | CommandButton 1 | Jméno | btnDisplayFullName |
2 | Titulek | Podprogram pro celé jméno |
Vaše rozhraní by nyní mělo vypadat následovně.
Krok 2) Přidat podprogram
- Stisknutím Alt + F11 otevřete okno kódu
- Přidejte následující podprogram
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
ZDE v kódu,
Kód | Akce |
---|---|
|
|
|
|
|
|
Krok 3) Volání podprogramu
Volání podprogramu z události kliknutí příkazového tlačítka.
- Klikněte pravým tlačítkem na příkazové tlačítko, jak je znázorněno na obrázku níže. Vyberte Zobrazit kód.
- Otevře se editor kódu
Přidejte následující kód do editoru kódu pro událost click příkazového tlačítka btnDisplayFullName.
Private Sub btnDisplayFullName_Click() displayFullName "John", "Doe" End Sub
Okno kódu by nyní mělo vypadat následovně
Uložte změny a zavřete okno kódu.
Krok 4) Testování kódu
Na panelu nástrojů pro vývojáře nastavte režim návrhu na „vypnuto“. Jak je ukázáno níže.
Krok 5) Klikněte na příkazové tlačítko 'Podprogram FullName'.
Získáte následující výsledky
Shrnutí
- Podprogram je část kódu, která provádí konkrétní úkol. Podprogram po provedení nevrací hodnotu
- Podprogramy nabízejí opětovnou použitelnost kódu
- Podprogramy pomáhají rozdělit velké kusy kódu na malé spravovatelné kódy.