Funkcia a podstavec programu Excel VBA - ľahké makrá programu Excel

Obsah

Funkcia | Sub

Rozdiel medzi a funkciu a a sub v Excel VBA je, že funkcia môže vrátiť hodnotu, zatiaľ čo podponuka nemôže. Funkcie a podpoložky sa stávajú veľmi užitočnými, pretože veľkosť programu sa zvyšuje.

Funkcia

Ak chcete, aby Excel VBA vykonával úlohu, ktorá vracia výsledok, môžete použiť funkciu. Umiestnite funkciu do modulu (V editore jazyka Visual Basic kliknite na položku Vložiť, modul). Napríklad funkcia s názvom Area.

Funkčná oblasť (x ako dvojitá, y ako dvojitá) ako dvojitá
Plocha = x * r
Ukončiť funkciu

Vysvetlenie: Táto funkcia má dva argumenty (typu Double) a návratový typ (časť za As aj typu Double). Názov funkcie (Area) vo svojom kóde môžete použiť na označenie výsledku, ktorý chcete vrátiť (tu x * y).

Teraz môžete na túto funkciu (inými slovami volať funkciu) odkázať odinakiaľ v kóde jednoduchým použitím názvu funkcie a zadaním hodnoty pre každý argument.

Na pracovný hárok umiestnite príkazové tlačidlo a pridajte nasledujúce riadky kódu:

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

Vysvetlenie: Funkcia vracia hodnotu, takže túto hodnotu musíte vo svojom kóde „zachytiť“. Na to môžete použiť inú premennú (z). Ďalej môžete do tejto premennej pridať ďalšiu hodnotu (ak chcete). Nakoniec zobrazte hodnotu pomocou MsgBox.

Výsledok po kliknutí na príkazové tlačidlo na hárku:

Sub

Ak chcete, aby Excel VBA vykonával niektoré akcie, môžete použiť podpoložku. Umiestnite podradenú položku do modulu (V editore jazyka Visual Basic kliknite na položku Vložiť, modul). Napríklad podpoložka s názvom Area.

Podoblasť (x ako dvojitá, y ako dvojnásobná)
MsgBox x * y
Koniec pod

Vysvetlenie: Tento podpoložka má dva argumenty (typu Double). Nemá návratový typ! Na tento sub (zavolať sub) môžete odkázať odkiaľkoľvek v kóde jednoduchým použitím názvu sub a zadania hodnoty pre každý argument.

Umiestnite príkazové tlačidlo na pracovný hárok a pridajte nasledujúci riadok kódu:

Plocha 3, 5

Výsledok po kliknutí na príkazové tlačidlo na hárku:

Vidíte rozdiel medzi funkciou a sub? Funkcia vrátila hodnotu 15. K tomuto výsledku sme pridali hodnotu 2 a zobrazili konečný výsledok. Keď sme zavolali sub, nemali sme už žiadnu kontrolu nad výsledkom (15), pretože sub nemôže vrátiť hodnotu!

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave