Veřejné proměnné VBA Jak deklarovat veřejné proměnné ve VBA (příklady)

Veřejné proměnné ve VBA

„Veřejné proměnné“ ve VBA, jak název napovídá, jsou proměnné, které jsou deklarovány k veřejnému použití pro všechna makra, která píšeme ve stejném modulu i v různých modulech. Když jsou tedy proměnné deklarovány na začátku libovolného makra, nazývají se „Veřejné proměnné“ nebo „Globální proměnné“.

Jak deklarovat veřejné proměnné ve VBA?

Obvykle zahajujeme podproces VBA a uvnitř podprocesu deklarujeme naše proměnné. Toto je běžná praxe, kterou jsme všichni prováděli až do tohoto článku.

Tuto šablonu VBA Public Variables Excel si můžete stáhnout zde - VBA Public Variables Excel Template

Pokaždé, když napíšeme nový podproces, deklarujeme nové proměnné s přiřazenými datovými typy. Ale dnes se rozloučíme s opakujícími se proměnnými napříč podprocesy.

Vzpomeňme si na starý styl, níže je kód, který jsem napsal s jedinou proměnnou.

V dílčím postupu „Public_Variable“ jsem deklaroval tuto proměnnou. Nyní nemohu použít žádný z ostatních modulů.

Nyní v podprocesu „Public_Variable1“ nemůžeme použít proměnnou „Var1“, která byla deklarována v prvním podprocesu „Public_Variable“. Toto je omezení deklarace proměnných uvnitř podprocesů.

# 1 - Proměnné na úrovni modulu

Jak všichni víme, že píšeme makra do modulů, můžeme vložit řadu modulů. Ve VBA můžeme deklarovat dva druhy „veřejných proměnných“, jedním je použití proměnných pro všechny podprocesy ve stejném modulu a druhým je použití proměnných pro všechny podprocesy ve všech modulech.

Nejprve uvidíme deklarovat veřejné proměnné ve VBA na úrovni modulu.

Chcete-li použít proměnné pro všechny podprocesy ve stejném modulu, musíme deklarovat proměnné v horní části modulu, než spustíme makra.

Níže je ukázka obrazovky pro vaše porozumění.

Jak vidíme na obrázku výše, deklaroval jsem dvě proměnné, než spustím jakékoli makro v modulu. Nyní lze tyto dvě proměnné použít v libovolném počtu maker v tomto modulu.

Uvnitř podprocesu začíná psát název proměnné, můžete vidět, že seznam IntelliSense zobrazí názvy proměnných.

Nyní můžeme tyto proměnné použít ve všech makrech, která napíšeme do „Modulu1“.

Tyto proměnné jsou omezeny pouze na použití v tomto modulu. Například nyní vložím ještě jeden modul a napíšu nové makro.

V Module2 nemohu použít ty proměnné, které jsme deklarovali v “Module1”.

Jak tedy můžeme tyto proměnné zveřejnit ve VBA a použít je ve všech modulech a ve všech dílčích postupech?

# 2 - Deklarovat proměnné je používat veřejně

Vraťte se na „Modul1“ v tomto modulu jsme deklarovali proměnné, než začneme psát způsob makra a také jaký svět jsme použili k deklaraci těchto proměnných.

Náš tradiční způsob používání slova „DIM“ jsme deklarovali tyto proměnné.

Když použijeme pouze slovo „DIM“, je omezeno pouze na použití ve všech makrech, ale ve stejném modulu.

Místo slova „DIM“ musíme použít slovo „PUBLIC“ nebo „GLOBAL“, abychom je mohli používat ve všech modulech maker.

Pro zveřejnění prohlášení o proměnné jsem použil slovo „globální“. Můžete také použít slovo „Veřejné“.

Použitím slov „Global“ a „Public“ tedy můžeme deklarovat proměnné, které lze použít pro všechna makra napříč moduly.

Věci k zapamatování

  • Je dobrým zvykem deklarovat proměnné veřejně, ale před jejich deklarováním je třeba mít dostatečné zkušenosti.
  • Jakmile jsou makra spuštěna, hodnota proměnné makra bude stejná.
  • Přiřaďte konkrétní hodnotu proměnné uvnitř konkrétního makra, aby nedocházelo k nejasnostem.

$config[zx-auto] not found$config[zx-overlay] not found