Jak zavolat podřízený program ve VBA v aplikaci Excel (4 příklady)

  • Sdílet Toto
Hugh West

V tomto článku vám ukážu, jak můžete volat Sub od jiného Sub nebo Funkce na adrese VBA na adrese Excel Naučíte se volat Sub s argumenty nebo bez nich, stejně jako oba Veřejnost a Soukromé Náhradníci .

Jak zavolat podřízený modul ve VBA v aplikaci Excel (Rychlé zobrazení)

Poznámka: Zde a Sub s názvem Sub2 volá a Sub s názvem Sub1 .

Stáhnout cvičebnici

Volání VBA Sub.xlsm

Stáhněte si tento cvičební sešit a procvičte si tento úkol při čtení tohoto článku.

4 způsoby volání podřízeného modulu ve VBA v aplikaci Excel

Zde máme Sub na adrese VBA s názvem Sub1 .

Pokud spustíte Sub1 , dostanete zprávu "Sub1 je spuštěn."

Naším dnešním cílem je naučit se, jak můžeme tuto výzvu Sub od jiného Sub nebo Funkce všemi možnými způsoby.

1. Volání podřízeného objektu bez argumentů z jiného podřízeného objektu ve VBA v aplikaci Excel

Nejprve zavoláme Sub bez jakéhokoli argumentu od jiného Sub na adrese VBA .

Zde, Sub1 je Sub bez argumentů.

Nyní zavoláme Sub Sub1 od jiného Sub s názvem Sub2 .

Vyvolání Sub Sub1 od jiného Sub , musíte použít řádek kódu:

Sub1

Nebo

Volání Sub1

Pokud nyní spustit Sub2 , Sub1 bude zavolána zpráva "Sub1 je spuštěn." se zobrazí.

2. Volání podřízeného objektu s argumenty z jiného podřízeného objektu ve VBA v aplikaci Excel

Nyní zavoláme Sub s argumenty z jiného Sub na adrese VBA .

Zde jsme změnili Sub Sub1 tak, aby obsahoval argument nazvaný Input_Value a po spuštění zobrazí tento argument.

Chcete-li to nazvat Sub od jiného Sub ( Sub2 ), musíme použít řádek kódu:

Sub1(Vstupní_hodnota)

Nebo

Volání Sub1(Vstupní_hodnota)

Zde jsme použili:

Volání Sub1(10)

Když teď spustíme Sub2 , Sub1 bude volán se vstupem 10 a 10 se zobrazí v Pole pro zprávy .

Podobné čtení:

  • Jak vrátit hodnotu ve funkci VBA (pole i jiné hodnoty)
  • Použití funkce LCase ve VBA v aplikaci Excel (se 4 příklady)
  • Jak používat funkci VBA SPLIT v aplikaci Excel (5 příkladů)
  • Použití funkce TRIM ve VBA v aplikaci Excel (definice + kód VBA)

3. Volání podřízené funkce s/bez argumentů z funkce definované uživatelem v prostředí VBA v aplikaci Excel

Můžete také zavolat Sub od a Funkce definovaná uživatelem na adrese VBA .

Sub bez argumentů

Zavolejme Sub bez argumentů.

Zde jsme opět změnili Sub Sub1 na ten bez argumentů.

Nyní vytvoříme Funkce s názvem Funkce1 a zavolejte Sub1 z této funkce.

Volání Sub z funkce, je řádek kódu, který se má použít, stejný:

Sub1

Nebo

Volání Sub1

Pokud nyní vložíte Funkce1 v libovolné buňce pracovního listu, Sub1 bude zavolán a Pole pro zprávy zobrazí "Sub1 je spuštěn." .

Sub s argumenty

Můžete také zavolat Sub s argumenty z Funkce definovaná uživatelem na adrese VBA na adrese Excel .

Zde jsme změnili Sub1 k tomu, který má argumenty.

Nyní jsme zavolali Sub1 z Funkce1 podle řádku kódu:

Volání Sub1(10)

Pokud nyní vložíme Funkce1 v libovolné buňce našeho pracovního listu, zobrazí se. 10 v a Pole pro zprávy .

4. Volání soukromého podřízeného z jiného podřízeného nebo funkce ve VBA v aplikaci Excel

Až dosud jsme nazývali Veřejný subdodavatel od jiného Sub nebo Funkce . Tentokrát si ukážeme, jak můžete zavolat příkaz Soukromý subdodavatel od jiného Sub nebo Funkce na adrese VBA .

Volání z náhradního zařízení:

Volat můžete pouze Soukromý subdodavatel od jiného Sub pokud jsou oba ve stejném modulu vaší VBA okno.

Zde jsme změnili Sub1 na Soukromý subdodavatel přidáním termínu Soukromé v prvním řádku. A zavolal ji z Sub2 který je ve stejném modulu.

Pokud nyní spustíte Sub2 , získáte Pole pro zprávy zobrazení 10 .

Volání z funkce:

Totéž platí pro funkce. Soukromý subdodavatel od a Funkce na adrese VBA ... Sub a Funkce musí být ve stejném modulu.

Zde jsme vložili Soukromý subdodavatel Sub1 a Funkce Funkce1 ve stejném modulu.

Pokud nyní vložíme Funkce1 v libovolné buňce našeho pracovního listu, a Pole pro zprávy zobrazí 10 .

Souhrn

Zde je shrnutí všech dnes projednávaných bodů:

  • Můžete zavolat Sub od jiného Sub nebo Funkce definovaná uživatelem na adrese VBA používáním termínu "Call" s názvem Sub nebo jednoduše zadat název Sub .
  • Pokud Sub který má být volán, obsahuje argument , musíte zavolat Sub s jakoukoli hodnotou tohoto argument .
  • Pokud Sub který má být volán, je deklarován jako Soukromé jeden, musíte jej vyvolat z jiného Sub nebo Funkce stejného modulu.

Závěr

Pomocí těchto metod můžete zavolat Sub od jiného Sub nebo Funkce na adrese VBA Máte nějaké dotazy? Neváhejte se nás zeptat.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.