Když má smysl použít možnost Explicit - Tipy pro Excel

Obsah

Zdá se, že jsem v průběhu let způsobil určitou úzkost kvůli mému kontroverznímu postoji, že Option Explicit není ve VBA užitečný. Nedávno mi to bylo připomenuto, když jsem dělal relaci Skype na víkendu Excel v Brazílii. Napsal jsem knihu o Excel VBA pro QUE. Tato kniha byla přeložena do portugalštiny pro brazilský trh. Zjevně jsem tedy učil skvělé lidi z Brazílie o Excel VBA po dobu 15 let. Nyní, když jsem o 15 let starší a moudřejší, připustím, že mohou existovat dobré důvody pro použití Option Explicit.

V Notre Dame jsem absolvoval obchodní kurzy se silnou koncentrací v programování. Díky podivným okolnostem jsem absolvoval všechny kurzy programování dostupné na ND z technických i obchodních škol. Naučil jsem se Fortran, Pascal, Assembler a COBOL. Miloval jsem programování. Tyto programovací kurzy zachránily můj GPA a zabránily mi, aby mě vyhodili. V průběhu dne nám naši profesoři řekli, že musíme naplánovat náš program a ručně nakreslit vývojové diagramy, než jsme začali programovat. Byl jsem rebel. Nejprve bych napsal program a poté, co jsem skončil, nakreslil vývojový diagram.

Prvních 18 měsíců své kariéry jsem strávil psaním programů COBOL. Ale pak jsem přešel na Finance a strávil deset let prací v Finance a účetnictví. Dělal jsem hlavně účetní práci, ale když jsem potřeboval napsat nějaký kód, věděl jsem toho dost, abych mohl napsat nějaký kód.

Naprogramoval jsem makra v Lotus 1-2-3 a poté jsem začal psát makra VBA poté, co jsme v roce 1995 přešli na Excel. V tom okamžiku jsem byl stále vzpurný: deklarovat své proměnné předem vypadalo příliš podobně jako kreslení vývojového diagramu před napsáním kódu. Nikdy nejsem ten, kdo plánuje dopředu. Ponořte se. Začněte kódovat. Pokud potřebujete někde po cestě novou proměnnou, jednoduše ji vytvořte.

Byl jsem rebel, nejprve jsem psal kód a později jsem nakreslil vývojový diagram. Tvrdil jsem, že deklarace proměnných je pro formální programátory. Pokud pracujete v účetnictví a jednoduše vyřadíte 20 řádků kódu, není důvod deklarovat proměnné předem.

Můj postoj k tomu mě dostal do několika přátelských hádek s dalšími experty na Excel. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Nejprve jsem vždy doporučil deklarovat vaše objektové proměnné. V níže uvedeném kódu je WSD deklarován jako list a přiřazen pomocí příkazu Nastavit. Pokud deklarujete proměnnou objektu, můžete procházet všechny vlastnosti a metody zadáním proměnné a tečkou.

Deklarace proměnných objektu vede k tomuto užitečnému automatickému dokončování

Nepoužíváním Option Explicit riskujete pravopisné chyby. V níže uvedeném kódu je vytvořena proměnná s názvem FinalRow. V dalším řádku jsem pravděpodobně chtěl smyčku od 2 do FinalRow, ale napomenul jsem proměnnou jako Fina1Row.

Před desítkami let IBM Selectric typerwriters vynechal klíč 1, protože lidé místo toho zadali malá písmena L.

Bez Option Explicit si někdo nemusí uvědomit, že tam překlep je. Proměnná FinalRow může obsahovat 100. Ale kód uvnitř smyčky se nespustí, protože proměnná Fina1Row nebyla nikdy inicializována a bude obsahovat nulu.

Chcete-li zabránit frustraci v ladění kódu s možnými chybami při psaní, můžete otevřít Nástroje, Možnosti v nabídce VBA. Vyberte pole Vyžadovat deklaraci proměnné zobrazené níže.

Chcete-li chytit překlepy, zaškrtněte toto políčko.

Všechny budoucí moduly budou začínat řádkem, který říká Option Explicit. V horní části makra definujícího proměnné FinalRow a i budete muset přidat nové řádky. Excel vám neřekne překlepy, dokud se makro skutečně nepokusíte spustit. Poté vás upozorní, že proměnná není definována.

Zvýrazněné slovo je chybně napsáno.

Je to tedy vaše výzva. Pokud vám nevadí plánování dopředu a deklarování všech vašich proměnných, budete mít bezpečnostní síť VBA, která vám řekne, pokud jste proměnnou zadali nesprávně. Pro mě dávám přednost vzrušení z ladění kódu po jednom řádku a hledání svých překlepů sám. Pokud se vám ale nechce žít nebezpečně, povolte možnost Explicit.

Nejsem si úplně jistý, jestli moje akce zahrnovala kroky 5, 8 nebo 9 z 12 kroků. Pokud ale někdo strávil více času laděním svého kódu kvůli chybě při psaní, omlouvám se, že jsem vám způsobil tu bolest.

Každou sobotu proberu v Excelu jeden ze svých špatných návyků a proberu, proč byste možná měli dělat to, co říkám, místo toho, co dělám já.

Excel myšlenka dne

Požádal jsem své přátele Excel Master o radu ohledně Excelu. Dnešní myšlenka k zamyšlení:

„Neměňte vývojáře tabulek uprostřed skrumáže.“

Jordan Goldmeier

Zajímavé články...