Možnost VBA Explicitní | Jak učinit prohlášení o proměnné povinným?

Možnost Excel VBA Explicit

Deklarace proměnných je ve VBA velmi důležitá, Možnost Explicit umožňuje uživateli povinně deklarovat všechny proměnné před jejich použitím, jakákoli nedefinovaná proměnná způsobí chybu při provádění kódu, můžeme napsat možnost klíčového slova explicitně nebo ji můžeme povolit pro všechny kódy z možností povolením vyžadovat deklaraci proměnné.

Ve VBA je to všechno o proměnných. Abychom mohli ukládat data, potřebujeme proměnné s vhodným datovým typem. Můžete se mě zeptat, proč potřebujete proměnnou, když můžete přímo přidat hodnotu do samotné tabulky. Je to hlavně z důvodu více uživatelů sešitu, pokud jej zpracovává jedna osoba, můžete přímo odkazovat na hodnotu na samotný list. Deklarováním proměnných můžeme vytvořit flexibilní kód pro ukládání dat.

Co je VBA Option Explicit?

Doufám, že jste v horní části modulu narazili na modře lemované slovo „Option Explicit“, než v tomto modulu začalo nějaké makro.

Na začátku učení VBA jsem také nechápal, co to je, a abych byl upřímný, vůbec jsem nad tím vůbec nepřemýšlel. Nejen pro mě nebo pro vás, ale je to také stejné pro všechny na začátku. Nyní však uvidíme důležitost tohoto slova.

„Možnost Explicit“ je naším mentorem při deklaraci proměnné. Přidáním tohoto slova se deklarace proměnné stává povinným procesem.

Tuto Explicitní šablonu aplikace VBA pro Excel si můžete stáhnout zde - Explicitní šablonu pro Excel VBA

Příklad naleznete v níže uvedeném kódu, abyste porozuměli.

Kód:

 Sub Příklad1 () i = 25 MsgBox i End Sub 

Pokud spustím tento kód, získáme hodnotu proměnné „I“ v okně se zprávou ve VBA.

Nyní přidám slovo „Option Explicit“ na samém začátku kódu VBA.

Nyní spustím kód a uvidím, co se stane. Pokud se mnou cvičíte, spusťte kód stisknutím klávesy F5.

Dostali jsme chybu kompilace a říká „Proměnná není definována“ . Proměnnou „i“ jsme nedeklarovali, ale hned jsme jí přiřadili hodnotu 25.

Protože jsme přidali slovo „Možnost Explicit“, nutí nás to povinně deklarovat proměnnou.

Ve výše uvedeném kódu je abeceda „i“ nedeklarovaná, proto jsme přidali slovo proměnné řadiče „Option Explicit“, které nám brání v používání nedeklarovaných proměnných.

V okamžiku, kdy v horní části modulu přidáte slovo „Možnost Explicit“, je použitelné pro všechna makra v daném modulu povinně deklarovat proměnné.

Jak učinit prohlášení o proměnné povinným?

Pokud jste do modulu při přidání nového modulu přidali mentora proměnné „Možnost Explicit“ ručně, ve výchozím nastavení tento mentor proměnné nedostanete.

Pokud si myslíte, že pokaždé, když potřebujete přidat slovo „Option Explicit“ pro všechny nové moduly ručně, pak se mýlíte.

Protože toto slovo můžeme učinit povinným ve všech modulech jednoduchým nastavením. Podle následujících pokynů upravte nastavení.

Krok 1: Přejděte do editoru jazyka Visual Basic.

Krok 2: Přejděte na NÁSTROJE a klikněte na Možnosti.

Krok 3: V okamžiku, kdy kliknete na Možnosti, uvidíte níže uvedené okno.

Krok 4: V tomto okně přejděte do editoru a zaškrtněte možnost „Vyžadovat deklaraci proměnné“ .

Krok 5: Kliknutím na OK zavřete okno.

Od této chvíle, kdykoli přidáte nový modul, automaticky ve výchozím nastavení vloží slovo „Option Explicit“.

Možnost Explicit je váš Saver

Možnost Explicit nám pomáhá mnoha způsoby, hned od zavedení povinné deklarace proměnné nám pomůže až do provedení. Podívejte se na níže uvedený kód.

Kód:

 Sub Příklad2 () Dim CurrentValue jako Integer CurentValue = 500 MsgBox CurrentValue End Sub 

Ve výše uvedeném kódu jsem deklaroval proměnnou „CurrentValue“ jako celé číslo. V dalším řádku jsem mu přidělil hodnotu 500. Pokud spustím tento kód, měl bych dostat 500 jako výsledek do zprávy. Ale podívej se, co se stane.

Říká „Proměnná není definována“ a zvýraznil druhý řádek.

Podíváme-li se pozorně na druhý řádek, dojde k mírné pravopisné chybě. Moje proměnná se jmenuje „CurrentValue“, ale na druhém řádku mi uniklo jedno hláskování, tj. „R“. Říká „CurrentValue“ místo „CurrentValue“. Vzhledem k tomu, že jsem deklaraci proměnné učinil povinnou přidáním slova „Option Explicit“ do aplikace Excel VBA, zvýraznilo mi to chybu překlepu, kterou jsem udělal.

Takže když opravíme pravopis a spustíme kód, dostaneme výsledek následujícím způsobem.

Pozdravte nově jmenovaného variabilního mentora !!!