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 jde o proměnné. 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ě kvůli více uživatelům sešitu. Pokud ji 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é nerozuměl tomu, co to bylo, a abych byl upřímný, vůbec jsem nad tím vůbec nepřemýšlel. Nejen pro vás nebo pro mě, 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.

Například pro porozumění si přečtěte následující kód.

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.

Došlo k chybě kompilace a říká: „Proměnná není definována.“ Proměnnou „i“ jsme nedeklarovali , ale hned jsme jí přiřadili hodnotu jako 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 vložení nového modulu přidali mentora proměnné „Možnost Explicit“ ručně, ve výchozím nastavení tohoto mentora proměnných nezískáte.

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 můžeme toto slovo učinit povinným ve všech modulech jednoduchým nastavením, upravte nastavení podle následujících kroků.

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 „Možnost Explicit“.

Možnost Explicit je váš Saver

Možnost Explicit nám pomáhá mnoha způsoby. 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 v důsledku 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ě. Název mé proměnné je „CurrentValue“, ale na druhém řádku mi chyběl jeden pravopis, tj. „R“. Říká „CurrentValue“ místo „CurrentValue“. Protože jsem deklaraci proměnné učinil povinnou přidáním slova „Option Explicit“ do aplikace Excel VBA, zvýraznila jsem 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 !!!

Zajímavé články...