VyhlasovanieMožnosť explicitná v hornej časti modulu kódu hovorí VBA, aby vyžadoval, aby ste deklarovali všetky premenné, ktoré v kóde používate. Ak je tento príkaz vynechaný, môžete použiť premenné, ktoré ste neuviedli. Odporúčame použiť Explicitnú možnosť v hornej časti modulu, pretože vám pomôže vyhnúť sa chybnému zadaniu premenných.
Použitie premenných VBA bez explicitných možností
Najprv ukážeme príklad kódu, keď neexistuje príkaz Option Explicit. Tu je kód:
123456789 | Súkromný podpríkladWOOptionExplicit ()Dim strTextA ako reťazecstrTextA = "Testovanie VBA bez explicitnej možnosti"MsgBox strTextAKoniec pod |
V príklade sme deklarovali premennú strTextA v prvom riadku postupu a priradili sme jej text. Potom chceme vrátiť pole so správou s hodnotou strTextA. Tu je výsledok, keď spustíme kód:
Obrázok 1. Kód bez možnosti Explicit
Ako vidíte na obrázku 1, kód je úspešne vykonaný. Okno so správou s hodnotou od strTextA sa objavilo, aj keď sme premennú nenahlásili strTextA. Tu nie je problém s kódom, ale čo keby sme nesprávne zadali názov premennej:
1 | MsgBox strTxtA |
Tu sme namiesto strTextA napísali strTxtA (bez „e“). V dôsledku toho dostaneme prázdne pole správy, pretože premenná strTxtA nebola definovaná. Teraz uvidíme, ako použiť Option Explicit na predchádzanie chybám.
Použitie premenných s explicitnou možnosťou
Ak chcete zabrániť používaniu premenných, ktoré nie sú deklarované, musíte zadaťMožnosť explicitná v hornej časti modulu:
1 | Možnosť explicitná |
Tu je kompletný kód vrátane preklepu:
12345678910 | Možnosť explicitnáSúkromný čiastkový príkladWithOptionExplicit ()Dim strTextA ako reťazecstrTextA = "Testovanie VBA bez explicitnej možnosti"MsgBox strTxtAKoniec pod |
Pozrime sa, čo sa stane, ak spustíme kód:
Obrázok 2. Kód s explicitnou možnosťou
V dôsledku toho sa zobrazí chyba „Premenná nie je definovaná“, pretože sme to nedeklarovalistrTxtA premenná.
Pridanie explicitnej voľby do hornej časti modulov kódu pomáha predchádzať chybám spôsobeným nesprávne napísanými premennými.
Ak sa chcete dozvedieť viac o ďalších možnostiach VBA VBA, prečítajte si o tom, ako nastaviť, aby VBA nerozlišovala malé a veľké písmená: Zabráňte rozlišovaniu malých a veľkých písmen vo VBA