Variable Scope v aplikaci Excel VBA
The rozsah proměnné v Excel VBA určuje, kde lze tuto proměnnou použít. Určíte rozsah proměnné, když ji deklarujete. Existují tři úrovně rozsahu: úrovni řízení, úroveň modulu, a veřejné úrovni modulu.
Umístěte na pracovní list příkazové tlačítko a přidejte následující řádky kódu:
1. Umístěte dva postupy (postup je buď sub nebo funkce) do modulu. V editoru jazyka klepněte na tlačítko Vložit, modul. Přidejte následující řádky kódu:
2. Výsledek po klepnutí na příkazové tlačítko na listu (volání na dva podpisy):
Vysvětlení: proměnná txt má rozsah procedurální úrovně, protože je deklarována v proceduře (mezi Sub a End Sub). V důsledku toho tuto proměnnou můžete použít pouze v sub1. Proměnná txt nemůže být použita v sub2.
3. Pokud chcete, aby proměnná byla k dispozici pro všechny postupy v modulu, říkáte, že chcete, aby proměnná měla rozsah úrovně modulu. Je třeba deklarovat proměnnou v sekci Obecné deklarace (v horní části modulu). Mírně upravte kód následujícím způsobem:
4. Klepněte na příkazové tlačítko na listu:
Vysvětlení: proměnná txt může být nyní použita v sub2. Modulová úroveň se používá zaměnitelně s úrovní soukromého modulu. Je tomu tak proto, že ve výchozím nastavení jsou proměnné deklarované pomocí příkazu Dim v sekci Obecné deklarace vymezeny jako soukromé. Můžete také použít proměnnou jako veřejnou. Číst dál.
5. Pomocí klíčového slova Veřejnost bude proměnná dostupná pro všechny postupy ve všech modulech sešitu. To se nazývá rozsah veřejné úrovně modulu. Mírně upravte kód následujícím způsobem:
Vysvětlení: nyní můžete vytvořit nový modul a do tohoto modulu umístit submenu nazvanou sub3. Použijte stejný kód jako sub2. Přidat sub3 do kódu příkazového tlačítka. Po klepnutí na příkazové tlačítko v listu získáte tři pole se zprávami s názvem "Proměnná lze použít pouze v tomto postupu" (viz soubor aplikace Excel ke stažení).