Jak provádět procedury funkcí VBA v Excelu 2016

V programování VBA funkce vrací hodnotu. Procedury funkcí můžete spouštět a volat funkci v aplikaci Excel 2016. Funkce, na rozdíl od procedur Sub, lze provádět pouze dvěma způsoby:

  • Voláním funkce z jiné procedury Sub nebo Function procedury

  • Pomocí funkce ve vzorci listu

Vyzkoušejte tuto jednoduchou funkci. Zadejte jej do modulu VBA:

Funkce CubeRoot(číslo)
  CubeRoot = číslo ^ (1 / 3)
End Function

Tato funkce je docela slabá; pouze vypočítá odmocninu z čísla, které mu bylo předáno jako argument. Poskytuje však výchozí bod pro pochopení funkcí. Také ilustruje důležitý koncept funkcí: jak vrátit hodnotu. (Pamatujete si, že funkce vrací hodnotu, že?)

Všimněte si, že jediný řádek kódu, který tvoří tuto proceduru Function, provádí výpočet. Výsledek matematiky (číslo umocněné 1/3) je přiřazen k proměnné CubeRoot. Ne náhodou je CubeRoot také název funkce. Chcete-li funkci říci, jakou hodnotu má vrátit, přiřadíte tuto hodnotu k názvu funkce.

Volání funkce z procedury Sub

Protože funkci nemůžete spustit přímo, musíte ji volat z jiné procedury. Zadejte následující jednoduchý postup ve stejném modulu VBA, který obsahuje funkci CubeRoot:

Sub CallerSub()
  Ans = CubeRoot(125)
  MsgBox Ans
End Sub

Když spustíte proceduru CallerSub, Excel zobrazí okno se zprávou, které obsahuje hodnotu proměnné Ans, což je 5.

Tady je to, co se děje: Funkce CubeRoot se provede a obdrží argument 125. Výpočet je proveden kódem funkce (pomocí hodnoty předané jako argument) a vrácená hodnota funkce je přiřazena proměnné Ans. Funkce MsgBox pak zobrazí hodnotu proměnné Ans.

Zkuste změnit argument, který je předán funkci CubeRoot, a znovu spusťte makro CallerSub. Funguje to tak, jak má – za předpokladu, že funkci dáte platný argument (kladné číslo).

Mimochodem, procedura CallerSub by se dala trochu zjednodušit. Proměnná Ans není ve skutečnosti vyžadována, pokud váš kód tuto proměnnou později nepoužije. K získání stejného výsledku můžete použít tento jediný příkaz:

  MsgBox CubeRoot(125)

Volání funkce ze vzorce listu

Nyní je čas zavolat tuto proceduru funkce VBA ze vzorce listu. Aktivujte list ve stejném sešitu, který obsahuje definici funkce CubeRoot. Poté do libovolné buňky zadejte následující vzorec:

=CubeRoot(1728)

Buňka zobrazuje 12, což je skutečně odmocnina z 1 728.

Jak můžete očekávat, můžete použít odkaz na buňku jako argument pro funkci CubeRoot. Pokud například buňka A1 obsahuje hodnotu, můžete zadat =CubeRoot(A1) . V tomto případě funkce vrátí číslo získané výpočtem třetí odmocniny hodnoty v A1.

Tuto funkci můžete v listu použít kolikrát. Stejně jako vestavěné funkce aplikace Excel se vaše vlastní funkce zobrazí v dialogovém okně Vložit funkci. Klepněte na tlačítko panelu nástrojů Vložit funkci a vyberte kategorii Definováno uživatelem. V dialogovém okně Vložit funkci je uvedena vaše vlastní funkce.

Jak provádět procedury funkcí VBA v Excelu 2016

Funkce CubeRoot se zobrazí v kategorii User Defined v dialogovém okně Vložit funkci.

Pokud chcete, aby se v dialogovém okně Vložit funkci zobrazil popis funkce, postupujte takto:

Vyberte Vývojář → Kód → Makra.

Excel zobrazí dialogové okno Makro, ale CubeRoot se v seznamu nezobrazí. (CubeRoot je procedura Function a tento seznam zobrazuje pouze procedury Sub.) Nedělejte si starosti.

Do pole Název makra zadejte slovo CubeRoot.

Klepněte na tlačítko Možnosti.

Do pole Popis zadejte popis funkce.

Klepnutím na tlačítko OK zavřete dialogové okno Možnosti makra.

Zavřete dialogové okno Makro kliknutím na tlačítko Storno.

Tento popisný text se nyní zobrazí v dialogovém okně Vložit funkci.

Podívejte se na funkci CubeRoot, která se používá ve vzorcích listu.

Jak provádět procedury funkcí VBA v Excelu 2016

Použití funkce CubeRoot ve vzorcích.

Leave a Comment

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Objevte, jak efektivně využívat příkazy Znovu a Opakovat ve Wordu 2016 pro opravy dokumentů a zlepšení pracovního toku.

Jak změnit zamčené a skryté formátování buněk

Jak změnit zamčené a skryté formátování buněk

Naučte se, jak efektivně změnit stav buněk v Excelu 2010 z uzamčených na odemčené nebo z neskrytého na skrytý s naším podrobným průvodcem.

Jak přeložit text v cizím jazyce ve Wordu 2016

Jak přeložit text v cizím jazyce ve Wordu 2016

Zjistěte, jak efektivně využít překladové nástroje v Office 2016 pro překlad slov a frází. Překlad Gizmo vám pomůže překládat text s lehkostí.

Jak používat šablony ve Wordu 2013

Jak používat šablony ve Wordu 2013

Šablona ve Wordu šetří čas a usnadňuje vytváření dokumentů. Zjistěte, jak efektivně používat šablony ve Wordu 2013.

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Zjistěte, jak si vytvořit e-mailová upozornění ve SharePointu a zůstat informováni o změnách v dokumentech a položkách.

Obsah SharePoint Online a typy obsahu

Obsah SharePoint Online a typy obsahu

Objevte skvělé funkce SharePoint Online, včetně tvorby a sdílení dokumentů a typů obsahu pro efektivnější správu dat.

Výpočet fiskálního čtvrtletí pro datum v Excelu

Výpočet fiskálního čtvrtletí pro datum v Excelu

Zjistěte, jak vypočítat fiskální čtvrtletí v Excelu pro různá data s použitím funkce CHOOSE.

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Zjistěte, jak vytvořit hypertextový odkaz v PowerPointu, který vám umožní pohodlně navigovat mezi snímky. Použijte náš návod na efektivní prezentace.

Zobrazit starší verzi dokumentu aplikace Word 2016

Zobrazit starší verzi dokumentu aplikace Word 2016

Uložili jste nedávno svůj dokument? Náš návod vám ukáže, jak zobrazit starší verze dokumentu v aplikaci Word 2016.

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra vlastní kartě na pásu karet nebo tlačítku na panelu nástrojů Rychlý přístup. Návod pro Excel 2013.