Funkce a sub aplikace Excel VBA - snadná makra aplikace Excel

Obsah

Funkce | Sub

Rozdíl mezi a funkce a a sub v Excel VBA je, že funkce může vrátit hodnotu, zatímco dílčí nemůže. Funkce a podřízené položky jsou velmi užitečné, protože velikost programu roste.

Funkce

Pokud chcete, aby aplikace Excel VBA prováděla úkol, který vrací výsledek, můžete použít funkci. Umístěte funkci do modulu (v editoru jazyka klepněte na Vložit, modul). Například funkce s názvem Area.

Funkční oblast (x jako dvojitá, y jako dvojitá) jako dvojitá
Plocha = x * r
Koncová funkce

Vysvětlení: Tato funkce má dva argumenty (typu Double) a návratový typ (část po As také typu Double). Název funkce (Area) v kódu můžete použít k označení výsledku, který chcete vrátit (zde x * y).

Nyní můžete na tuto funkci odkazovat (jinými slovy funkci volat) odjinud v kódu jednoduše pomocí názvu funkce a zadáním hodnoty pro každý argument.

Umístěte na list příkazové tlačítko a přidejte následující řádky kódu:

Dim z As Double
z = plocha (3, 5) + 2
MsgBox z

Vysvětlení: Funkce vrací hodnotu, takže tuto hodnotu musíte v kódu „chytit“. K tomu můžete použít jinou proměnnou (z). Dále můžete do této proměnné přidat další hodnotu (pokud chcete). Nakonec zobrazte hodnotu pomocí MsgBox.

Výsledek po kliknutí na příkazové tlačítko na listu:

Sub

Pokud chcete, aby Excel VBA prováděl nějaké akce, můžete použít dílčí. Umístěte dílčí díl do modulu (V editoru jazyka klepněte na Vložit, modul). Například sub s názvem Area.

Podoblast (x jako dvojitá, y jako dvojitá)
MsgBox x * y
End Sub

Vysvětlení: Tento díl má dva argumenty (typu Double). Nemá návratový typ! Na tento dílčí díl (zavolejte ho) můžete odkázat odjinud v kódu jednoduše tak, že jednoduše použijete název dílčího pole a každému argumentu zadáte hodnotu.

Umístěte na list příkazové tlačítko a přidejte následující řádek kódu:

Oblast 3, 5

Výsledek po kliknutí na příkazové tlačítko na listu:

Vidíte rozdíl mezi funkcí a sub? Funkce vrátila hodnotu 15. K tomuto výsledku jsme přidali hodnotu 2 a zobrazili konečný výsledek. Když jsme volali sub, neměli jsme nad výsledkem žádnou kontrolu (15), protože sub nemůže vrátit hodnotu!

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave