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
  • „Private Sub mySubRoutine(…)“
  • Zde se klíčové slovo „Sub“ používá k deklaraci podprogramu s názvem „mySubRoutine“ a ke spuštění těla podprogramu.
  • Klíčové slovo Private se používá k určení rozsahu podprogramu
  • „ByVal arg1 jako řetězec, ByVal arg2 jako řetězec“ :
  • Deklaruje dva parametry řetězcového datového typu název arg1 a arg2
  • "End Sub"
  • „End Sub“ se používá k ukončení těla podprogramu

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:

  1. Navrhněte uživatelské rozhraní a nastavte vlastnosti pro uživatelské ovládací prvky.
  2. Přidejte podprogram
  3. Napište kód události kliknutí pro příkazové tlačítko, které volá podprogram
  4. Otestujte aplikaci

Krok 1) Uživatelské rozhraní

Navrhněte uživatelské rozhraní, jak je znázorněno na obrázku níže.

Jak volat Sub ve VBA

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ě.

Jak volat Sub ve VBA

Krok 2) Přidat podprogram

  1. Stisknutím Alt + F11 otevřete okno kódu
  2. 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
  • “Private Sub displayFullName(…)”
  • Deklaruje soukromý podprogram displayFullName, který přijímá dva řetězcové parametry.
  • „ByVal křestní jméno jako řetězec, ByVal příjmení jako řetězec“
  • Deklaruje dvě proměnné parametrů firstName a lastName
  • MsgBox jméno Příjmení"
  • Volá MsgBox vestavěná funkce pro zobrazení zprávy. Poté předá proměnné 'jméno' a 'příjmení' jako parametry.
  • Ampersand „&“ se používá ke spojení dvou proměnných a přidání prázdného místa mezi ně.

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

Jak volat Sub ve VBA

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ě

Jak volat Sub ve VBA

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.

Jak volat Sub ve VBA

Krok 5) Klikněte na příkazové tlačítko 'Podprogram FullName'.

Získáte následující výsledky

Jak volat Sub ve VBA

Stáhněte si výše uvedený kód Excel

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.