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á. Možnosť Explicit núti používateľa povinne deklarovať všetky premenné pred ich použitím, akákoľvek nedefinovaná premenná spôsobí chybu pri vykonávaní kódu, 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 ho spracováva jedna osoba, môžete priamo odkazovať na hodnotu samotného hárka. 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 nerozmýšľal. Nielen pre mňa alebo pre vás, 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.

Túto šablónu VBA Option Explicit Excel si môžete stiahnuť tu - šablónu VBA Option Explicit Excel

Ako príklad sa dozviete v nasledujúcom kóde.

Kód:

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

Ak spustím tento kód, dostaneme hodnotu premennej „I“ v okne správy 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 pri kompilácii 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 v používaní nedeklarovaných premenných.

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 pridávaní nového modulu pridali mentora premennej „Option Explicit“ manuálne, tento mentor premennej sa predvolene nedostane.

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

Pretože toto slovo môžeme urobiť povinným vo všetkých moduloch jednoduchým nastavením. Podľa pokynov uvedených nižšie upravte nastavenia.

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ť deklaráciu premennej“ .

Krok 5: Kliknutím na OK zatvorte okno.

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

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

Možnosť Explicit nám pomáha v mnohých ohľadoch, hneď ako povinné vyhlásenie deklarácie premennej, pomôže nám 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 ako výsledok v schránke správ. 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 Excelu VBA, zvýraznilo ma to preklepová chyba, 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 !!!