Zde najdete několik rad, které byste měli vzít v úvahu, když začnete vyvíjet vlastní řešení Excel VBA. Dodržování těchto pokynů není všelék, jak se vyhnout potížím s programováním, ale jejich dodržování vám může pomoci vyhnout se nástrahám, o které ostatní klopýtli.
Deklarujte všechny proměnné
Jak pohodlné to je: Jednoduše začněte psát svůj kód VBA, aniž byste museli procházet zdlouhavou prací s deklarováním každé proměnné, kterou chcete použít. Ačkoli Excel umožňuje používat nedeklarované proměnné, je to prostě koledování o problém.
První přikázání programování VBA by mělo být toto:
Budete deklarovat každou proměnnou.
Pokud vám chybí sebekázeň, přidejte do horní části svých modulů prohlášení „Option Explicit“. Tímto způsobem se váš kód ani nespustí, pokud obsahuje jednu nebo více nedeklarovaných proměnných. Nedeklarování všech proměnných má pouze jednu výhodu: Ušetříte pár sekund. Ale používání nedeklarovaných proměnných se vám nakonec vrátí.
Nepleťte si hesla s bezpečností
Stačí chránit projekt VBA heslem a jste v bezpečí, že? Špatně.
Použití hesla VBA může zabránit většině příležitostných uživatelů v zobrazení vašeho kódu. Ale pokud to někdo chce opravdu zkontrolovat, přijde na to, jak prolomit heslo.
Sečteno a podtrženo? Pokud nutně potřebujete udržet svůj kód v tajnosti, Excel není tou nejlepší volbou pro vývojovou platformu.
Vyčistěte svůj kód
Poté, co vaše aplikace funguje k vaší spokojenosti, měli byste ji vyčistit. Úkoly správy kódu zahrnují následující:
-
Ujistěte se, že je deklarována každá proměnná.
-
Ujistěte se, že jsou všechny řádky správně odsazeny, aby byla zřejmá struktura kódu.
-
Odeberte všechny pomůcky pro ladění, jako jsou příkazy MsgBox příkazů Debug.Print.
-
Přejmenujte všechny špatně pojmenované proměnné. Pokud například použijete proměnnou MyVariable, je velká šance, že název proměnné bude popisnější. Později si poděkujete.
-
Vaše moduly pravděpodobně obsahují několik „testovacích“ procedur, které jste napsali, když jste se snažili něco zjistit. Splnily svůj účel, tak je smažte.
-
Přidejte komentáře, abyste pochopili, jak kód funguje, až se k němu vrátíte za šest měsíců.
-
Ujistěte se, že je vše napsáno správně – zejména text v UserForms a zprávách.
-
Zkontrolujte nadbytečný kód. Pokud máte dvě nebo více procedur, které mají identické bloky kódu, zvažte vytvoření nové procedury, kterou mohou volat jiné procedury.
Nedávejte vše do jednoho postupu
Chcete vytvořit nesrozumitelný program? Efektivním způsobem, jak toho dosáhnout, je umístit veškerý kód do jedné pěkné velké procedury. Pokud se k tomuto programu ještě někdy vrátíte, abyste provedli změny, určitě uděláte chyby a zavedete nějaké dobře vypadající chyby.
Vidíš ten problém? Řešením je modulární kód. Rozdělte svůj program na menší části, přičemž každá část je navržena tak, aby vykonávala konkrétní úkol. Poté, co si osvojíte tento zvyk, zjistíte, že psaní kódu bez chyb je jednodušší než kdy předtím.
Zvažte jiný software
Excel je úžasně všestranný program, ale nehodí se na všechno. Když jste připraveni zahájit nový projekt, věnujte nějaký čas zvážení všech svých možností. Abychom parafrázovali staré přísloví: „Když vše, co znáte, je Excel VBA, vše vypadá jako makro VBA.
Nepředpokládejte, že makra povolí každý
Jak víte, Excel umožňuje otevřít sešit se zakázanými makry. Ve skutečnosti je to skoro, jako by návrháři posledních verzí Excelu chtěli, aby uživatelé zakázali makra.
Povolení maker při otevření sešitu z neznámého zdroje samozřejmě není dobrý nápad. Musíte tedy znát své uživatele. V některých podnikových prostředích jsou všechna makra Microsoft Office zakázána a uživatel v této věci nemá na výběr.
Jedna věc, kterou je třeba zvážit, je přidání digitálního podpisu do sešitů, které distribuujete ostatním. Uživatel si tak může být jistý, že sešity skutečně pocházejí od vás a že nebyly změněny. Další informace o digitálních podpisech naleznete v systému nápovědy.
Zvykněte si experimentovat
Nastavení jednoduchých experimentů je téměř vždy mnohem efektivnější než začlenění nového nápadu do stávajícího kódu bez pochopení toho, co tyto experimenty přinášejí.
Nepředpokládejte, že váš kód bude fungovat s jinými verzemi Excelu
V současnosti se po celém světě běžně používá minimálně pět verzí Excelu. Když vytvoříte aplikaci Excel, nemáte absolutně žádnou záruku, že bude bezchybně fungovat ve starších verzích nebo v novějších verzích. V některých případech budou nekompatibility zřejmé. Ale také zjistíte, že věci, které by měly fungovat s dřívější verzí, nefungují.
Excel obsahuje praktickou kontrolu kompatibility (vyberte Soubor → Informace → Zkontrolovat problémy → Zkontrolovat kompatibilitu), ale kontroluje pouze sešit a ignoruje kód VBA. Jediný způsob, jak si být jisti, že vaše aplikace funguje s jinými verzemi, než se kterými jste ji vytvořili, je otestovat ji v těchto verzích.
Mějte na paměti své uživatele
Pokud vyvíjíte aplikace pro ostatní, vaše práce je obtížnější, protože nemůžete vytvářet stejné typy předpokladů, jako když vyvíjíte pro sebe.
Pokud jste například jediným uživatelem, můžete být laxnější při zpracování chyb. Pokud se objeví chyba, budete mít docela dobrý nápad, kde hledat, abyste ji mohli opravit. Pokud vaši aplikaci používá někdo jiný a objeví se stejná chyba, bude mít smůlu. A když pracujete s vlastní aplikací, většinou se obejdete bez návodu.
Musíte porozumět úrovni dovedností těch, kteří budou používat vaše sešity, a pokusit se předvídat problémy, které mohou mít. Zkuste si představit sami sebe jako nového uživatele vaší aplikace a identifikujte všechny oblasti, které mohou způsobit zmatek nebo problémy.
Nezapomeňte na zálohy
Nic neodradí více než pád pevného disku bez zálohy. Pokud pracujete na důležitém projektu, položte si jednoduchou otázku: „Pokud mi dnes v noci zemře počítač, o co přijdu? Pokud je vaší odpovědí více než několik hodin práce, musíte se podrobně podívat na postup zálohování dat. Máte postup zálohování dat, že?