Verejné premenné VBA Ako deklarovať verejné premenné vo VBA (príklady)

Verejné premenné vo VBA

„Verejné premenné“ vo VBA, ako už názov napovedá, sú premenné, ktoré sa deklarujú na verejné použitie pre všetky makrá, ktoré napíšeme v rovnakom module, ako aj v rôznych moduloch. Keď sa teda premenné deklarujú na začiatku ľubovoľného makra, nazývajú sa „verejné premenné“ alebo „globálne premenné“.

Ako deklarovať verejné premenné vo VBA?

Spravidla začíname podproces VBA a vo vnútri podprocesu deklarujeme naše premenné. Toto je bežná prax, ktorú sme všetci robili až do tohto článku.

Zakaždým, keď napíšeme nový podproces, deklarujeme nové premenné s priradenými dátovými typmi. Ale dnes sa rozlúčime s opakujúcimi sa premennými naprieč podprocesmi.

Pripomeňme si starý štýl. Nižšie je uvedený kód, ktorý som napísal s jedinou premennou.

V pod procedúre „Public_Variable“ som deklaroval túto premennú. Teraz nemôžem použiť žiadny z ďalších modulov.

Teraz v podprocese „Public_Variable1“ nemôžeme použiť premennú „Var1“, ktorá bola deklarovaná v prvom podprocese „Public_Variable“. Toto je obmedzenie deklarovania premenných vo vnútri podprocesov.

# 1 - Premenné na úrovni modulu

Ako všetci vieme, makrá píšeme do modulov. Môžeme vložiť niekoľko modulov. Vo VBA môžeme deklarovať dva druhy „verejných premenných“, jedným je použitie premenných pre všetky podprocesy v rovnakom module a druhým používaním premenných pre všetky podprocesy vo všetkých moduloch.

Najskôr uvidíme deklarovanie verejných premenných vo VBA na úrovni modulu.

Ak chcete použiť premenné pre všetky podprocesy v rovnakom module, je potrebné pred spustením akýchkoľvek makier deklarovať premenné v hornej časti modulu.

Ďalej uvádzame ukážkovú snímku obrazovky, ktorá slúži na pochopenie.

Ako vidíme na obrázku vyššie, pred spustením ľubovoľného makra v module som deklaroval dve premenné. Teraz môžu byť tieto dve premenné použité v ľubovoľnom počte makier v tomto module.

Vo vnútri podprocesu začne písať názov premennej, ktorú vidíte. Zoznam IntelliSense zobrazí názvy premenných.

Teraz môžeme tieto premenné používať vo všetkých makrách, ktoré napíšeme do modulu „Module1“.

Tieto premenné sú obmedzené na použitie iba v tomto module. Napríklad teraz vložím ešte jeden modul a napíšem nové makro.

V Module2 nemôžem použiť tie premenné, ktoré sme deklarovali v “Module1”.

Ako teda môžeme tieto premenné zverejniť vo VBA na použitie vo všetkých moduloch a vo všetkých čiastkových postupoch?

# 2 - Deklarujte, že premenné ich používajú verejne

Vráťte sa späť na „Module1“ v tomto module. Deklarovali sme premenné skôr, ako začneme písať spôsob makra a tiež aký svet sme použili na deklarovanie týchto premenných.

Náš tradičný spôsob použitia slova „DIM“ sme deklarovali tieto premenné.

Keď používame iba slovo „DIM“, je obmedzené iba na použitie vo všetkých makrách, ale v rovnakom module.

Namiesto slova „DIM“ musíme použiť slovo „PUBLIC“ alebo „GLOBAL“, aby sme ich mohli používať vo všetkých moduloch makier.

Na zverejnenie vyhlásenia premennej som použil slovo „globálny“. Môžete tiež použiť slovo „Verejné“.

Použitím slov „Globálny“ a „Verejný“ teda môžeme deklarovať premenné, ktoré je možné použiť pre všetky makrá naprieč modulmi.

Na čo treba pamätať

  • Je dobrým zvykom verejne deklarovať premenné, ale predtým, ako ich vyhlásite, je potrebné mať dostatočné skúsenosti.
  • Po spustení makier bude hodnota premennej makra rovnaká.
  • Priraďte konkrétnu hodnotu premennej vo vnútri konkrétneho makra, aby nedošlo k zámene.

Zaujímavé články...