pondělí 30. března 2015

Makra nebo funkce?

Je jasné, že jediná správná odpověď na otázku v v nadpisu je, že jak kdy.
Jsou v Excelu situace, které nelze řešit jinak než makrem, a naopak situace, které makrem řešit nemá smysl. Pak ale zbývá docela široká "šedá zóna" činností, které je možné řešit různě, a nad tou chci v tomto příspěvku hloubat.
Po letech práce s Excelem se čím dál více přikláním k minimalizaci používání maker a maximálnímu využívání přednastavených funkcí a nástrojů. Zkusím vysvětlit proč.
Nejprve ale několik důvodů, proč může být použití makra výhodnější.
1) Když se makro vytvoří správně, umí prakticky cokoliv. Možnosti maker jsou obrovské, ve VBA se dá napsat téměř cokoliv.
2) Řešení postavené na makrech je často lepší z pohledu výkonnosti.
3) Vytvářet makra může být pro tvůrce zábavnější než hledat správné funkce.
4) Méně znalý zákazník může dobře vnímat, když dostane dlouhý kus kódu, a je ochotný to ohodnotit.
5) Existují uživatelé, kteří potřebují (nebo si myslí, že potřebuj) mít vše "na knoflík" a takové knoflíkovité aplikace se právě ve VBA vytvářejí dobře.
Je ale pár dobrých důvodů, proč se makrům přesto snažím, pokud to jde, vyhnout.
1) Hodně toho, co se dá řešit makry, se dá řešit i jinak. Stačí se pořádně naučit vyhledávací, logické a další funkce, ovládací prvky, podmíněné formátování, ověřování dat, pojmenování oblastí, rozšířené filtry atd.
2) V řadě firem jsou makra nějakým způsobem zablokovaná nebo omezená. Často nevíte, kam se tabulka dostane, a je možné, že se dostane k někomu, kdo si makra nebude umět nebo moci odblokovat, a tabulka bude nefunkční.
3) Řešení vzniklá s pomocí funkcí se mě zdají čitelnější a jsou mnohem flexibilnější z pohledu dalších úprav.
Nedávno mě v jedné firmě požádali o opravu a drobné rozšíření řešení, které pro firmu kdosi napsal ve VBA. Nic složitého, ale desítky stran VBA kódu. Kódu jednoduchého z pohledu VBA, ale rozsáhlého a dokumentovaného dle této metodiky. Zástupce firmy popsal, jak tabulka funguje, a já jsem měl navrhnout cenu práce oprav a doplnění. Odhadl jsem nějak pracnost změn (pár hodin), a pak pracnost prostudování logiky a kódu aplikace, přičetl hodiny na poctivé testování a ladění, a dostal jsem se na relativně hodně velkou pracnost a návazně i cenu. Cenu, která se zástupci firmy, pochopitelně, vůbec nelíbila, a přitom nebyla nijak moc výhodná ani pro mě. Bylo přitom zřejmé, že aplikace se dala vytvořit pomocí standardních nástrojů a funkcí Excelu, s drobnou podporou několika krátkých maker.
4) I když tomu skalní IT crowd nevěří, tak průměrný (ne každý) uživatel Excelu se za posledních deset let dramaticky posunul co se týká schopností. Od rámečkování buněk po kontingenční tabulky. Už nepotřebuje řešení, které za něj všechno udělá, a chce flexibilitu. Tedy aby nemusel při změně každé drobnosti volat programátora. A řešení založené na dlouhém VBA kódu mu žádnou flexibilitu nedává.
5) Když chce klient vytvářet složitější aplikaci, a je ochotni za to zaplatit, tak existují často vhodnější technologie než Excel. Technologie, které běžně pracují s relačními databázemi, které nejsou silnou zbraní Excelu, a které mohou dobře fungovat na webu.
Takže abych shrnul hlavní  - myslím, že prostor pro využití VBA sice nezmizí, ale zmenšuje se. Budoucnost patří standardním nástrojům Excelu a pro uživatele je to dobře.
Těším se na diskusi v komentářích.

pondělí 23. března 2015

Přesun stránek na www.vyuka-excelu.cz

Tyto stránky už fungují přes pět let a obsahují 351 článků, většinu z toho návodů. Za tu dobu na ně přišlo hodně návštěvníků. Jejich počet roste a roste čím dál rychleji.
Takový úspěch mě velmi těší.
Na druhou stranu se ukazuje, že nebylo úplně šťastné stránky vytvářet na googlovské blogovací platformě Blogger. Ta je vhodná na rychlý začátek publikování, ale na větší web se nehodí.
Za prvé v ní jde nastavit a upravovat jen minimum věcí. Za druhé, a především, je určená k blogování. Tedy k občasnému psaní příspěvků. To je ale formát, který se nehodí pro návody. U návodů je jedno, kdy byly publikované, ale články musí být logicky uspořádané podle toho, jak k sobě patří.
Takže přecházíme na WordPress. Ten se jeví jako platforma, která je dostatečně jednoduchá na editaci, ale současně velmi dobře modifikovatelná.
Z webu www.excelentnitriky.com postupně budou články mizet a budou se objevovat na www.vyuka-excelu.cz, kde už teď máme prezentaci našich služeb.

Doména excelentnitriky.com pak postupně bude na doménu vyuka-excelu.cz nasměrována.
Dá to celé dost práce, tak doufám, že se vám nové stránky budou líbit :)
Zatím se můžete podívat na některý z návodů, který už byl přenesený:

Kompletní výpis všech návodů

čtvrtek 12. března 2015

Podmíněné formátování

Článek o podmíněném formátování byl od začátku moc stručný, a navíc už pěkně zastaral. Bylo na čase napsat a publikovat nový.

Pokud vás podmíněné formátování zajímá, klikněte sem.

pondělí 9. března 2015

Rozšířený filtr - řešení problému s filtrováním textu

Tento článek se týká jedné záludnosti při práci s rozšířeným filtrem.
Předtavte si, že v této tabulce:

 použijete toto filtrovací kritérium.

Kolik hodnot zůstane po vyfiltrování? Pokud myslíte, stejně jako jsem si myslel já, že jedna (Novák), pak se mýlíte. Ve výsledku bude kromě Nováka také Nováková.

Jak tedy nastavit filtr tak, aby vyfiltroval pouze Nováka?
Stačí do filtrovacího kritéria místo:
Novák
napsat:
="=Novák".
A je to. Teď už filtrujeme jen Nováka bez Novákové.

úterý 3. března 2015

Nové diskusní fórum

Jsem rád, že na tento blog přichází více a více návštěvníků. Z toho plyne rychlejší tempo nových přírůstků v diskusích pod články.
Rád bych, aby diskuse byly trochu méně roztříštěné a umožňovaly rychlejší výměnu zkušeností mezi všemi. Proto jsem přidal nové fórum, které by právě k tomu mělo sloužit. Tak snad bude :)

pondělí 2. března 2015

Přehled všech příspěvků na www.excelentnitriky.com

Už to mělo být dávno - přehled všech návodů, které na tomto webu jsou.
Takže pozdě, ale přece. Samotného mě překvapuje, kolik se toho za těch pět let nahromadilo :)
Časem to bude chtít ještě trochu učesat, ale jako základ snad dobré.
Jinak pokud by na těchto stránkách někdo chtěl publikovat svůj článek, budu rád. Mohu nabídnout pár tisíc čtenářů a možnost dát si na stránky odkaz na svůj web (pokud to není web přímé konkurence pro www.vyuka-excelu.cz). Článek musí být dobře napsaný a originální.