V předchozích dílech rozvíjeli jsme projekt, kde postupně zlepšujeme práci s uživatelskými funkcemi. Je to příslib, že když vám v Excelu nějaká funkce chybí, budete si umět poradit skoro se vším. Minule jsme v základním provedení poznali VBA funkci Replace.
Podkladová úloha: Pracujeme se sešitem, v němž je formulář, jejž je třeba vyplňovat. Stáhněte si sešit 2012-08 UD-funkce.xlsm z odkazu na konci článku. Sešit otevřete. Uvidíte zhruba toto:
Tato žertovná úloha nám slouží jako hřiště k vyzkoušení několika dovedností v Excelu, zejména využití uživatelských funkcí. Stanovy klubu požadují, aby uchazeč splňoval určitá kritéria, např. že se léčí přinejmenším u psychologa, že je schopen zapojit do procesu vyplňování nadprůměrnou inteligenci a že je konfliktní typ. Než bude přihláška postoupena přijímací komisi, je třeba vyloučit ty přihlášky, které zjevně nesplňují stanovy klubu, a nebude zatěžovat i tak dost vytíženého předsedu.
Všimněte si například, že uchazeč napsal své jméno normálně a ne pozpátku. Dnes budeme chtít rozeznat, zda je jméno zapsáno pozpátku, a nevhodné posluchače vyloučit.
Naši funkci pojmenujeme Jmeno_pozpatku. Použijeme sloupec vpravo od formuláře ke kontrolám. Funkci sestrojíme tak, že bude přebírat uživatelem vyplněné políčko jména a příjmení pozpátku, a za něj připojí text, který vyhodnotí názor programu, zda uchazeč vyplnil skutečně své jméno pozpátku:
V obrázku jsou použity 2 užitečné funkce VBA – StrReverse a UCase. Možná se ptáte, k čemu kromě Klubu Franze Kafky by mohlo být dobré zapsat řetězec od zadu. Odpověď je snadná. Kdykoli potřebujeme zjistit nějaký výskyt znaku od zadu, bude obrácení řetězce dobrou pomůckou. Představte si, že dostanete hypertextový odkaz z internetu, např. takovýto:
…