V předchozím dílu jsme dořešili ochranu informací před uživatelem při používání uživatelských funkcí, aby je běžný uživatel nemohl při testu snadno opsat, a podobně seznam tolerovaných slov z obavy ze zneužití uchazečem. Skryli jsme vzorce a zamykáme list s heslem, které zná i makro. VBA projekt je rovněž zaheslovaný. Dnes nás však předseda klubu překvapil požadavkem od CIA.
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 CIA se obává infiltrace islámských teroristů do klubu. Požádali jej, aby součástí formuláře byly otázky nenápadně vyzvídající vztah uchazeče k náboženství. Stáhněte si sešit 2012-21 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 měl dostat možnost vybrat např. Taoismus, Judaismus, Křesťanství, a v buňce C30 bychom měli průběžně zobrazovat text: „Taoismus, Judaismus, Křesťanství“.
S požadavkem může vzniknout celá řada problémů. Jako nadějné by se na první pohled jevilo naprogramovat formulář, v němž by byly zatrhávací položky. Jako výsledek vyplnění takového formuláře by byl seznam náboženství oddělených čárkami. Druhá strana mince proti tomuto řešení je to, že při přidání jakéhokoli dalšího náboženství do seznamu (třeba Mormoni, Samaritáni, atd.) musíme formulář přeprogramovat. Nám by se spíše hodilo, aby se pouze přidala další položka do seznamu na listu Param. To by mohl zvládnout i Předseda sám, až my budeme na dovolené na Kanárských ostrovech.
Vytvořit aktivní prvek se seznamem už umíme – použili jsme jej např. u zvěrokruhu. Tedy přiřadit k podobnému ComboBoxu jiný seznam a jinou propojenou buňku není problém:
Povšimněte si na listu Param bloku se seznamem náboženství. Jednak pojmenujeme samotný sloupec s názvy náboženství pro potřeby ComboBoxu, jednak rozšířený blok pro…