Subrutina Excel VBA: Jak volat Sub ve VBA s příkladem

Obsah:

Anonim

Co je to podprogram ve VBA?

Podprogram VBA je kus kódu, který provádí specifický úkol uvedený v kódu, ale nemá vrátit výsledek nebo hodnotu. Subrutiny se používají k rozdělení velkých částí kódu na malé spravovatelné části. Subrutiny lze vyvolat vícekrát z libovolného místa v programu.

Řekněme, že jste vytvořili uživatelské rozhraní s textovými poli pro přijímání vstupních údajů uživatele. Můžete vytvořit podprogram, který vymaže obsah textových polí. V takovém scénáři je vhodný podprogram volání VBA, protože nechcete vrátit žádné výsledky.

V tomto výukovém programu VBA se naučíte-

  • Proč používat podprogramy
  • Pravidla pro pojmenování podprogramů a funkcí
  • Syntaxe podprogramu VBA
  • Jak volat Sub ve VBA

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. Subrutiny pomáhají vyřešit tento problém rozdělením programu na malé zvládnutelné kousky kódu.
  • Opakovaná použ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 s databází pracovat. Místo psaní samostatného kódu pro tato okna můžete vytvořit funkci, která zpracovává všechny interakce s databázemi. Poté jej můžete volat z libovolného okna, které chcete.
  • Podrutiny a funkce se samy dokumentují . Řekněme, že máte funkci CalcLoanInterest a další, která říká connectToDatabase. Pouhým pohledem na název podprogramu / funkce bude programátor schopen zjistit, co program dělá.

Pravidla pro pojmenování podprogramů a funkcí

Chcete-li používat podprogramy a funkce, musíte dodržovat řadu pravidel.

  • Název podprogramu nebo volání funkce VBA nemůže obsahovat mezeru
  • Název dílčího volání nebo název funkce Excel VBA by měl začínat písmenem nebo podtržítkem. Nemůže začínat číslem nebo zvláštním znakem
  • Název podprogramu nebo funkce nemůže být klíčové slovo. Klíčové slovo je slovo, které má ve VBA zvláštní význam. Slova jako Soukromý, Sub, Funkce a Konec atd. Jsou všechny příklady klíčových slov. Kompilátor je používá pro konkrétní úkoly.

Syntaxe podprogramu VBA

Budete muset povolit kartu Vývojář v aplikaci Excel, abyste mohli postupovat podle tohoto příkladu. Pokud nevíte, jak povolit kartu Vývojář, přečtěte si kurz o operátorech VBA

ZDE v syntaxi,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd Sub

Vysvětlení syntaxe

Kód

Akce

  • „Soukromý Sub mySubRoutine (…)“
  • Zde se klíčové slovo „Sub“ používá k deklaraci podprogramu s názvem „mySubRoutine“ a spuštění těla podprogramu.
  • Klíčové slovo Soukromé 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řijme jméno a příjmení a zobrazí je v okně se zprávou.

Nyní budeme programovat a provádět tento dílčí postup. Podívejme se na to.

Jak volat Sub ve VBA

Níže je uveden krok za krokem postup, jak volat Sub ve VBA:

  1. Navrhněte uživatelské rozhraní a nastavte vlastnosti uživatelských ovládacích prvků.
  2. Přidejte podprogram
  3. Napište kód události kliknutí pro příkazové tlačítko, které volá podprogram
  4. Vyzkoušejte 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 Řízení Vlastnictví Hodnota
1 CommandButton1 název btnDisplayFullName
2 Titulek Celé jméno podprogram

Vaše rozhraní by nyní mělo vypadat následovně

Krok 2) Přidejte 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 & " " & lastNameEnd Sub

ZDE v kódu

Kód

Akce

  • „Soukromý sub displayFullName (…)“
  • Deklaruje soukromý podprogram displayFullName, který přijímá dva parametry řetězce.
  • "ByVal křestní jméno jako řetězec, ByVal příjmení jako řetězec"
  • Deklaruje dvě proměnné parametrů firstName a lastName
  • MsgBox křestní jméno & "" & příjmení "
  • Volá integrovanou funkci MsgBox k zobrazení schránky se zprávou. Poté předá proměnné 'firstName' a 'lastName' jako parametry.
  • Znak & se používá ke zřetězení dvou proměnných a přidání prázdného prostoru mezi ně.

Krok 3) Volání podprogramu z události kliknutí na příkazové tlačítko.

  • 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 kliknutí příkazového tlačítka btnDisplayFullName.

Private Sub btnDisplayFullName_Click()displayFullName "John", "Doe"End Sub

Vaše okno s kódem 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 vypněte režim návrhu. Jak je ukázáno níže.

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

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

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

Souhrn:

  • Subrutina je část kódu, která provádí konkrétní úkol. Podprogram po provedení nevrací hodnotu
  • Subrutiny nabízejí opětovné použití kódu
  • Subrutiny pomáhají rozdělit velké bloky kódu na malý spravovatelný kód.