Možnosť VBA explicitná - Ako urobiť vyhlásenie o premennej povinným?

Možnosť Excel VBA Explicit

Deklarácia premenných je vo VBA veľmi dôležitá, funkcia Option Explicit umožňuje používateľovi deklarovať všetky premenné pred ich použitím, akákoľvek nedefinovaná premenná spôsobí pri vykonávaní kódu chybu, môžeme napísať voľbu kľúčového slova explicitne alebo ju môžeme povoliť pre všetky kódy z možností povolením vyžadovať deklaráciu premennej.

Vo VBA je to všetko o premenných. Na ukladanie údajov potrebujeme premenné s vhodným dátovým typom. Môžete mi položiť otázku, prečo potrebujete premennú, keď môžete priamo pridať hodnotu do tabuľky. Je to hlavne kvôli viacerým používateľom zošita. Ak to spracováva jedna osoba, potom môžete priamo odkazovať na hodnotu na samotnom hárku. Deklarovaním premenných môžeme vytvoriť flexibilný kód na ukladanie údajov.

Čo je to možnosť VBA Explicit?

Dúfam, že ste narazili na modro lemované slovo „Option Explicit“ v hornej časti modulu predtým, ako sa v tomto module spustilo akékoľvek makro.

Na začiatku učenia sa VBA som tiež nechápal, čo to je, a aby som bol úprimný, vôbec som nad tým vôbec nerozmýšľal. Nielen pre vás alebo pre mňa, ale pre všetkých je to rovnaké aj na začiatku. Teraz však uvidíme dôležitosť tohto slova.

„Option Explicit“ je náš mentor pri deklarovaní premennej. Pridaním tohto slova sa deklarácia premennej stáva povinným procesom.

Pre porozumenie napríklad pozrite nasledujúci kód.

Kód:

Subpríklad1 () i = 25 MsgBox i koncový sub

Ak spustím tento kód, dostaneme hodnotu premennej „I“ v poli so správou vo VBA.

Teraz pridám slovo „Option Explicit“ na úplný začiatok kódu VBA.

Teraz spustím kód a uvidím, čo sa stane. Ak so mnou cvičíte, spustite kód stlačením klávesu F5.

Dostali sme chybu kompilácie a hovorí: „Premenná nie je definovaná.“ Premennú „i“ sme nedeklarovali , ale rovno sme jej priradili hodnotu 25.

Pretože sme pridali slovo „Option Explicit“, núti nás to povinne deklarovať premennú.

Vo vyššie uvedenom kóde je abeceda „i“ nedeklarovaná, preto sme pridali slovo radiča premenných „Option Explicit“, ktoré nám bráni používať nedeklarované premenné.

V okamihu, keď do hornej časti modulu pridáte slovo „Option Explicit“, je možné, aby všetky makrá v danom konkrétnom module povinne deklarovali premenné.

Ako urobiť vyhlásenie o premennej povinným?

Ak ste do modulu pri vložení nového modulu pridali mentora premennej „Option Explicit“ manuálne, tohto mentora premennej predvolene nezískate.

Ak si myslíte, že zakaždým, keď potrebujete pre všetky nové moduly pridať slovo „Option Explicit“ manuálne, ste na omyle.

Pretože toto slovo môžeme urobiť povinným vo všetkých moduloch jednoduchým nastavením, upravte nastavenia podľa nasledujúcich krokov.

Krok 1: Prejdite do editora jazyka Visual Basic.

Krok 2: Prejdite na NÁSTROJE a kliknite na Možnosti.

Krok 3: V okamihu, keď kliknete na Možnosti, uvidíte nasledujúce okno.

Krok 4: V tomto okne prejdite do editora a začiarknite možnosť „Vyžadovať vyhlásenie o premenných“.

Krok 5: Kliknutím na OK zatvorte okno.

Odteraz vždy, keď pridáte nový modul, automaticky predvolene vloží slovo „Option Explicit“.

Možnosť Explicitná je váš šetrič

Možnosť Explicit nám pomáha v mnohých ohľadoch. Už od vykonania povinného vyhlásenia premennej nám to pomôže až do vykonania. Pozrite sa na nasledujúci kód.

Kód:

Sub Príklad2 () Dim CurrentValue ako Integer CurentValue = 500 MsgBox CurrentValue End Sub

Vo vyššie uvedenom kóde som deklaroval premennú „CurrentValue“ ako celé číslo. V ďalšom riadku som mu priradil hodnotu 500. Ak spustím tento kód, mal by som dostať 500 v dôsledku okna so správou. Ale uvidíte, čo sa stane.

Hovorí „Premenná nie je definovaná“ a zvýraznil sa druhý riadok.

Ak sa pozorne pozrieme na druhý riadok, je tu mierna pravopisná chyba. Názov mojej premennej je „CurrentValue“, ale v druhom riadku mi unikol jeden pravopis, teda „r“. Píše sa „CurrentValue“ namiesto „CurrentValue“. Pretože som deklaráciu premennej urobil povinnou pridaním slova „Option Explicit“ do programu Excel VBA, zvýraznilo to chybu, ktorú som urobil.

Takže keď opravíme pravopis a spustíme kód, dostaneme výsledok nasledovne.

Pozdravte novo menovaného variabilného mentora !!!

Zaujímavé články...