DeklaraceMožnost Explicitní v horní části modulu kódu říká VBA, aby požadoval, abyste deklarovali všechny proměnné, které v kódu používáte. Pokud je tento příkaz vynechán, můžete použít proměnné, které jste nedeklarovali. Doporučujeme použít Option Explicit v horní části modulu, protože vám pomůže vyhnout se chybnému zadávání proměnných.
Použití proměnných VBA bez explicitních možností
Nejprve ukážeme příklad kódu, pokud neexistuje žádný příkaz Option Explicit. Zde je kód:
123456789 | Soukromý dílčí příkladWOOptionExplicit ()Dim strTextA jako řetězecstrTextA = "Testování VBA bez explicitní možnosti"MsgBox strTextAEnd Sub |
V příkladu jsme deklarovali proměnnou strTextA v prvním řádku procedury a přiřadili jí text. Poté chceme vrátit okno se zprávou s hodnotou strTextA. Zde je výsledek, když spustíme kód:
Obrázek 1. Kód bez možnosti Explicit
Jak vidíte na obrázku 1, kód je úspěšně spuštěn. Okno se zprávou s hodnotou od strTextA objevilo, i když jsme proměnnou nedeklarovali strTextA. Zde není problém s kódem, ale co kdybychom nesprávně napsali název proměnné:
1 | MsgBox strTxtA |
Zde jsme místo strTextA napsali strTxtA (bez „e“). V důsledku toho dostaneme prázdné pole se zprávou, protože proměnná strTxtA nebyla definována. Nyní uvidíme, jak pomocí Option Explicit zabránit chybám.
Použití proměnných s explicitním parametrem
Pokud chcete zabránit používání proměnných, které nejsou deklarovány, musíte zadatMožnost Explicitní v horní části modulu:
1 | Možnost Explicitní |
Zde je kompletní kód včetně překlepu:
12345678910 | Možnost ExplicitníSoukromý dílčí příkladWithOptionExplicit ()Dim strTextA jako řetězecstrTextA = "Testování VBA bez explicitní možnosti"MsgBox strTxtAEnd Sub |
Podívejme se, co se stane, když spustíme kód:
Obrázek 2. Kód s Option Explicit
V důsledku toho se zobrazí chyba „Proměnná není definována“, protože jsme to nedeklarovalistrTxtA proměnná.
Přidání explicitní možnosti v horní části modulů kódu pomáhá předcházet chybám způsobeným chybně napsanými proměnnými.
Pokud se chcete dozvědět více o dalších možnostech VBA VBA, přečtěte si, jak zajistit, aby VBA nerozlišovala velká a malá písmena: Zabraňte VBA rozlišování malých a velkých písmen