Zahájíme sérii článků, které se budou zabývat 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. Zpočátku nebudeme „objevovat Ameriku“, ale zkusíme především zpřístupnit šikovné nástroje uvnitř VBA pro práci v buňkách.
Podkladová úloha: Pracujeme s novým sešitem, v němž bude formulář, jejž je třeba vyplnit. Stáhněte si sešit 2012-06 UD-funkce.xlsm z odkazu na konci článku. Sešit otevřete. Uvidíte zhruba toto:
Úloha je žertovná, avšak poslouží nám jako hřiště k vyzkoušení několika dovedností v Excelu, zejména využití uživatelských funkcí.
Připusťme, že 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, nicméně vyplnil neurózu i konflikt s policií.
Formulář záměrně není zatím celý, ale budeme do něj časem vyplňovat další povinné řádky.
U první položky – diagnózy – budeme kontrolovat počet slov. Pokud nebude diagnóza dostatečně košatá, budeme předpokládat, že uchazeč není pro klub vhodný. Chceme tedy získat počet slov diagnózy. Ten pak můžeme testovat v Excelu.
Mezi textovými funkcemi Excelu není žádná, která by nám počet slov poskytla, a pokud bychom chtěli využít např. funkci Hledat k nalezení mezery, byl by výsledek neúplný a neuvěřitelně nepřehledný.
Zato ve VBA je k dispozici funkce Split:
Ve VBE vyvoláme okno Object…