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át

VBA 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 -

  1. VBA UserForm
  2. Oldja meg az egyenletet Excelben
  3. VBA aktiválási lap
  4. Hogyan lehet szerkeszteni az Excel legördülő listát?

Kategória: