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ž se tedy proměnné deklarují 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 spustíme 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.

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, makra píšeme do modulů. Můžeme vložit řadu modulů. Můžeme deklarovat dva druhy „veřejných proměnných“ ve VBA, jeden je použít proměnné pro všechny podprocesy ve stejném modulu a druhý je použít proměnné pro všechny podprocesy ve všech modulech.

Nejprve uvidíme deklaraci veřejných proměnných 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čne psát název proměnné, který vidíte, 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 teď 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. Deklarovali jsme 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 jeho použití ve všech makrech omezeno pouze na jeden modul.

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 napříč, 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.

Zajímavé články...