Excel VBA globális változók
Minden változót általában a DIM szó használatával deklarálunk, és ez a legjobb közvetlen módszer erre. A DIM segítségével deklarált változók azonban csak ugyanazon a modulon belül használhatók. Ha megpróbáljuk használni ezt a DIM segítségével definiált változót, akkor az alkalmazandó lesz arra a modulra, amely alatt deklarálják. Mi lenne, ha használni akarunk egy változót bármely modulban vagy projektben? Mi nem lehetséges, ha tovább folytatjuk a DIM használatát a változó meghatározására?
Ebben az esetben van egy másodlagos lehetőségünk, ha a változót globális vagy nyilvános szóval definiáljuk a VBA-ban. A VBA globális vagy nyilvános változói azok a változók, amelyeket az alkategória elején deklarálnak az Explicit opció segítségével. Bármi legyen is, amit nem vagy nem tudunk alkategóriákban csinálni, ezt azelőtt végezzük, ha az Explicit lehetőséget választjuk.
Hogyan deklarálhatjuk a globális változókat a VBA-ban?
Az alábbiakban bemutatjuk azokat a különféle példákat, amelyekkel globális változót deklarálhatunk az Excelben VBA-kóddal.
Itt töltheti le a VBA globális változók Excel sablonját - a VBA globális változók Excel sablonjátVBA globális változók - 1. példa
Ebben a példában meglátjuk, hogy a különféle alkategóriák hogyan használhatók egyetlen modulként anélkül, hogy globális vagy nyilvános szót használnánk bármely változó meghatározásához. Ehhez szükség lenne egy modulra.
- Lépjen a Beszúrás menübe, és kattintson az alábbi ábra szerinti modulra .
- Most írja be az alkategóriát bármilyen névre, az alább látható módon.
Kód:
Sub Global_Variable () Vége Sub
- Most használja a DIM-et bármilyen változó meghatározásához. Itt az A ábécét választottuk karakterláncként .
Kód:
Sub Global_Variable () Dim A mint a String End Sub
- Most hozzon létre egy másik alkategóriát ugyanabban a modulban, mint az alább látható.
Kód:
Sub Global_Variable () Dim A Karakterlánc vége Sub Sub Global_Variable6 () End Sub
- Most a második alkategóriában definiálj egy másik B változót DIM karakterlánccal.
Kód:
Sub Globális_változtatható () Dim A mint húros vég Sub Sub Global_Variable6 () Dim B mint húros vég Sub
Mint fentebb látható, mindkét alkategóriában definiált mindkét A és B változó nem használható egymás régiójában. Ezek csak a saját alkategóriájukban alkalmazandók.
- Most, hogy ez a munka megkezdődjön, írja az Explicit opciót az első alkategória fölé, az alább látható módon.
Kód:
Opció Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub
- Most meghatározhatjuk a változót, amelyet mindkét alkategóriánkban használni fogunk. Tehát most fontolgassa meg az A változó bármilyen sztrájkának írását DIM segítségével.
Kód:
Opció Explicit Dim A mint String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub
Amint meghatároztuk a változót, az összes alkategória abban a modulban lesz, és ez csak az adott modul összes kódjára vonatkozna. És ha megpróbáljuk a modulban definiált változókat más modulra hívni, akkor ez a hibát okozza.
VBA globális változók - 2. példa
Ebben a példában meglátjuk, hogyan lehet globális vagy nyilvános szót használni az Excel VBA bármely változójának meghatározására. Ehhez azt a kódot fogjuk használni, amelyet az 1. példában láttunk.
A kód alsó részét a globális vagy a nyilvános változó deklarálására használjuk.
Kód:
Opció Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub
Ahogyan az 1. példában tettük, ahol az Explicit opció alatt bejelentettük a közös változót, amelyet mindkét alkategóriában használni fognak. A példában a globális változót az Opció alatt is explicitnak nyilvánítjuk.
Mivel már készen állunk a kódunkra, így a Globális segítségével közvetlenül folytathatjuk a változók deklarálását. Most az alábbiakban az Opcionális explicit kifejezésbe írjuk a Globális értéket ugyanazzal, mint régen a DIM-mel, és válasszunk egy választható változót. Itt az A ábécét választjuk, az alább látható módon.
Kód:
Opció Kifejezett Globális A Sub Globális_Méretező () Dim A Szöveg vége Sub Sub Globális_Variable6 () Dim B Mint String End Sub
Most bármilyen típusú változót választunk, legyen az. Mint a String-et már használtuk a fenti példában, ezért itt is használnánk.
Kód:
Opció Kifejezett Globális A As String Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B as String End Sub
Ez befejezi a globális változó deklarációs folyamatunkat. Most ezt bármilyen modulban, bármilyen projektben felhasználhatjuk, csak String-ként. Használat előtt törölje a korábban deklarált változót, majd a kód az alábbiak szerint néz ki.
Kód:
Opció Explicit Globális A mint String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub
Most rendeljünk valamilyen szöveget az A meghatározott változóhoz mindkét alkategóriában. Az A változóra mindkét alkategóriában a „Test1” és a „Test2” választjuk, az alább látható módon. Ezenkívül az MsgBox-ot választottuk az A változóban tárolt értékek megjelenítéséhez.
Kód:
Opció explicit Globális A mint karakterlánc Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub
Most futtassa a kódot az F5 billentyű megnyomásával vagy a lejátszás gombra kattintással, hogy megjelenjen az eredmény.
Az „Test1” üzenet jelenik meg, ahogy az fentebb látható. Ennek oka az, hogy a kurzort az első alkategóriában tartottuk.
Most tegye a kurzort a második alkategóriába, és futtassa újra a kódot. Most megkapjuk az „Test2” üzenettel ellátott üzenetmezőt, az alább látható módon.
Így hozhatunk létre és definiálhatunk egy változót egyszerûen a Global segítségével, amelyet bármilyen modulban, osztályban és projektben felhasználhatunk. Használhatjuk a Public alkalmazást is a Global helyett, amint az alább látható. És ez ugyanazt az eredményt fogja kapni, mint amit a Global használatával kaptunk.
Kód:
Opció Explicit Nyilvános A mint String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub
A VBA globális változójának előnyei
- Időt takarít meg a több változó deklarálásában, amikor tudjuk, hogy valószínűleg újra meg kell határoznunk ugyanazt a változótípust a különböző modulokban vagy alkategóriákban.
- A globális vagy a nyilvános használatával a változó folyamat meghatározásánál a kódunk idő- és helymegtakarítást eredményez.
- Csökkenti a komplexitást, amikor a hatalmas kódot írjuk, és összetéveszthetővé válhat a különböző változók használata a különböző modulokban vagy alkategóriákban.
Hátrányai a VBA Global Variable
- Ha megváltoztatjuk a globális változót, akkor a változtatások mindenhol végrehajtásra kerülnek, és ez az írott kód funkcionalitásának problémáját okozza.
Dolgok, amikre emlékezni kell
- A globális és a nyilvános felcserélhetően használható ugyanazzal a funkcióval.
- Ha nem akarjuk használni a globális változót, akkor követhetjük az 1. példában bemutatott eljárást a változó meghatározásához. De ez ugyanarra a modulra korlátozódna.
- A globális változók bármilyen modulban, alkategóriában, osztályban vagy projektben felhasználhatók.
- A globális változó adja meg a kód kimenetét, ahol a kurzort tartottuk. Egyszerre nem futtatja a teljes kódot, egyenként megadva az összes kimenetet.
Ajánlott cikkek
Ez egy útmutató a VBA globális változókhoz. Itt tárgyaljuk, hogyan lehet a globális változókat Excelben bejelenteni VBA-kód használatával, néhány gyakorlati példával és letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -
- VBA UserForm
- Oldja meg az egyenletet Excelben
- VBA aktiválási lap
- Hogyan lehet szerkeszteni az Excel legördülő listát?