dnes je 21.12.2024

Input:

Excel 2007 – Makra – VBA - Uživatelská funkce – 14. část

14.9.2012, , Zdroj: Verlag Dashöfer

V předchozích dílech jsme pokračovali v projektu, kde završujeme práci s uživatelskými funkcemi. Když vám v Excelu nějaká funkce chybí, budete si umět poradit skoro se vším. Minule jsme dořešili přibližnou shodu názvu knihy, jak ji zadal uživatel. Interně jsme využili operátoru LIKE a funkce Split S jejich pomocí jsme si připravili funkci, která porovnává navrženou větu s celým seznamem vět. Dnes chceme utajit názvy Kafkových děl, aby je běžný uživatel nemohl při testu snadno opsat, a podobně chceme utajit seznam tolerovaných slov z obavy ze zneužití uchazeči.

Podkladová úloha: Pracujeme se sešitem, v němž je formulář, jejž je třeba vyplňovat. Nedávno nás předseda klubu překvapil požadavkem, že chce posuzovat znalost Kafkových děl, která uchazeč četl. Už jsme mu poskytli hrubé fungující řešení, ale musíme to dotáhnout do vyšší dokonalosti. Stáhněte si sešit 2012-19 UD-funkce.xlsm z odkazu na konci článku. Sešit otevřete. Uvidíte zhruba toto:

Jak vidíte na obrázku, uživatel by se mohl dovtípit, že někde v tomto sešitě všechny názvy jsou, a v průběhu testu si je zobrazit a opsat.

Úplné znemožnění nemusí být proveditelné.  Ale nám bude stačit, aby to bylo natolik složité, že za dobu testu to drtivá většina uchazečů nezvládne. A ten případný výjimečný by naopak mohl být ozdobou klubu.

V tomto stádiu vývoje souboru máme seznam Kafkových děl na listu „Tajný list“ a vypadá to tam asi takto:

Zkusíme si projít „otevřené dveře“, kudy by se fikaný uživatel k názvům děl mohl chtít dostat:

Takže list budeme chránit heslem a skryjeme vzorce:

Pochopitelně před zamknutím listu musíme odemknout všechny buňky, do nich má uživatel psát. Ovšem rovněž musíme odemknout i buňky, do nichž bude psát makro.

Nahrávám...
Nahrávám...