Nyilvános változók a VBA-ban
A „nyilvános változók” a VBA-ban, amint a neve is sugallja, olyan változók, amelyeket deklaráltan nyilvánosan használnak az összes makrón, amelyet ugyanabban a modulban írunk, valamint a különböző modulokban is. Tehát, amikor a változókat bármely makró elején deklaráljuk, akkor ezeket „Nyilvános változóknak” vagy „Globális változóknak” nevezzük.
Hogyan deklarálhatók nyilvános változók a VBA-ban?
Általában a VBA alfolyamatot indítjuk el, az alfolyamaton belül pedig deklaráljuk a változókat. Ezt a cikkig mindannyian gyakoroltuk.
Valahányszor új alfolyamatot írunk, deklarálunk friss változókat, hozzájuk rendelt adattípusokkal. De ma elbúcsúzunk az ismétlődő változóktól az alfolyamatok során.
Emlékezzünk a régi stílusra. Az alábbiakban látható az a kód, amelyet egyetlen változóval írtam.

A „Public_Variable” aleljárásban deklaráltam ezt a változót. Most nem használhatom a többi modult.

Most a „Public_Variable1” alfolyamatban nem használhatjuk a „Var1” változót, amelyet az első „Public_Variable” alfolyamatban deklaráltunk. Ez korlátozza a változók deklarálását az alfolyamatokon belül.
# 1 - Modulszintű változók
Mint mindannyian tudjuk, makrókat írunk modulokba. Számos modult illeszthetünk be. Kétféle „Nyilvános változót” deklarálhatunk a VBA-ban, az egyik az, hogy a változókat ugyanazon modul összes alfolyamatához használjuk, a második pedig az összes modul összes alfolyamatához a változókat.
Először látni fogjuk a nyilvános változók deklarálását a VBA-ban modul szinten.
Ahhoz, hogy a változókat ugyanazon modul összes alfolyamatához használjuk, a makrók indítása előtt deklarálnunk kell a változókat a modul tetején.
Az alábbiakban bemutatjuk a példaképet a megértése érdekében.

Amint a fenti képen láthatjuk, két változót deklaráltam, mielőtt bármilyen makrót elindítanék a modulban. Ez a két változó tetszőleges számú makróban használható ebben a modulban.
Az alfolyamat belsejében kezdi el beírni a változó nevét, így láthatja, hogy az IntelliSense lista megjeleníti a változók nevét.

Most ezeket a változókat használhatjuk az összes olyan makróban, amelyet a „Modul1” -be írunk.
Ezek a változók csak ebben a modulban használhatók. Például most beillesztek még egy modult, és írok egy új makrót.

A 2. modulban nem tudom használni azokat a változókat, amelyeket az „1. modulban” deklaráltunk.
Tehát hogyan tehetjük ezeket a változókat nyilvánosságra a VBA-ban, hogy az összes modulban és az összes alfolyamatban használható legyen?
# 2 - Deklarálja, hogy a változók nyilvánosan használják őket
Menjen vissza a modul 1. moduljához. Deklaráltuk a változókat, mielőtt elkezdenénk írni a makró módját, és azt is, hogy milyen világot használtunk a változók deklarálásához.

A „DIM” szó hagyományos módszerével deklaráltuk ezeket a változókat.
Ha csak a „DIM” szót használjuk, akkor csak az összes makrón használható, de ugyanabban a modulban.
A „DIM” szó helyett a „PUBLIC” vagy a „GLOBAL” szót kell használnunk, hogy elérhetővé tegyük a makrók összes moduljában.

A „Global” szót használtam a változó deklaráció nyilvánosságra hozatalához. Használhatja a „Nyilvános” szót is.

Tehát a „Globális” és a „Nyilvános” szavak használatával deklarálhatunk olyan változókat, amelyek a modulok közötti makrókhoz használhatók.
Dolgok, amikre emlékezni kell
- Jó gyakorlat a változók nyilvános deklarálása, de deklarálásuk előtt bőséges tapasztalatra van szükség.
- Amint a makrók elkezdtek futni, a változó makró értéke meg fog egyezni.
- Csak az adott makrón belül rendelje hozzá az adott értéket a változóhoz, hogy elkerülje az esetleges zavart.