Excel VBA nyilvános változó

A változó a programozók életének fontos része. Minden alkalommal, amikor egy programozó kódol, létrehoz egy változókészletet. A változó utalványnak tekinthető, amelyet gyakran használunk olyan online vásárlási oldalakon, mint a Flipkart, az Amazon stb., Amely lehetővé teszi, hogy bizonyos termékekre bizonyos engedményt biztosítson. Ugyanez vonatkozik a változóra. A változót nyelvtanilag lehet olyan helyőrzőként definiálni, amely bizonyos nevet a memóriába foglal a rendszerben. Ez a memóriaterület ezután bármikor, azonos névvel használható fel.

A VBA változót két körülmények között tekintik nyilvános változónak. Amikor -

  • Az összes kóddal együtt használható a modulon belül.
  • Az összes modulon belül felhasználható.

Laikus kifejezésben egy változót akkor tekintünk nyilvános változónak, ha bármilyen kódban és modulban használható. Ebben a cikkben azt látjuk, hogy hogyan lehet meghatározni egy változót. Hogyan lehet azt nyilvánosan meghatározni a VBA-n belül?

A VBA nyilvános változó koncepciójának megkezdése előtt meg kell értenünk, hogy az egyik alrendszerben használt változókat nem lehet felhasználni a másik alaki eljárásban (itt kezdtük érezni, hogy szükségünk van egy nyilvános változóra. amely bármilyen modulon és alprogramnál felhasználható).

Tegyük fel, hogy alprocedúrát hozunk létre a VBA-ban, és meghatározunk egy új változót a Dim utasítás használatával.

Ebben a kódban a var1 az Ex_Var alprogramban definiált változó.

Most meghatározom egy új alrendszert, és iróniája az, hogy nem tudom használni az előzőekben definiált var1-et ebben az alrendszerben. Lásd az alábbi képernyőképet, ahol megpróbálom a 10-es értéket var1-hez rendelni a különböző al-eljárások alatt. Lásd a hibaüzenetet is, miután futtattuk a kódot.

Ha a változókat alprocedúrák szerint deklaráljuk, akkor korlátozjuk őket, hogy csak az ezen alapeljárásban lehessen felhasználni. Fontos hátránya, ha egy változót egy al-eljáráson belül deklarálunk.

Ez az új elmélethez vezet, amely magában foglalja a változó deklarálását az al-eljárásokon kívül. Ez segíteni fogja a programozót a definiált változók széles körű felhasználásában a különböző alfolyamatokkal.

Hogyan lehet nyilvánosságra hozni a VBA változóit?

Nézzünk néhány példát a VBA nyilvános változóinak deklarálására.

Itt töltheti le a VBA nyilvános változók Excel sablonját - a VBA nyilvános változóinak Excel sablonját

1. példa - A változó meghatározása a modulon belül

Tegyük fel, hogy egy olyan változót akarunk meghatározni, amelyhez egy modulon belül minden kódhoz nyilvánosan hozzáférhetünk. Meg tudjuk csinálni. Kövesse az alábbi lépéseket:

1. lépés: Nyissa meg a Visual Basic Szerkesztőt (VBE) az Alt + F11 billentyűkombinációval vagy az Excel fejlesztők lapján a Visual Basic gombra kattintva. Válassza a Beszúrás fület, keresse meg a Modulok elemet, és kattintson rá. Ez hozzáad egy új modult a VBE-n belül a működéshez.

2. lépés: Az újonnan létrehozott modulban a VBA-kód elejére adjon hozzá az Option Explicit parancsot (bármilyen változó létrehozása előtt). Az Explicit opció segít abban, hogy van-e beírási hiba a definiált változó használata közben. Ha a használt változó nincs meghatározva a rendszerben, akkor ez az opció hibaüzenetet küld, amely szerint a változó nincs meghatározva.

Kód:

 Opció explicit 

3. lépés: A Dim utasítás használatával hozzon létre egy új változót, a nevem neve, String adattípusként.

Kód:

 Opció Explicit Dim my_name as String 

Ha tudnál figyelni, akkor ezt a változót kifejezetten meghatároztuk. Ez azt jelenti, hogy nem része az egyedi alrendszernek. Ami ezt a változót automatikusan elérhetővé teszi a létrehozott modul összes kódján (1. modul). Ezt úgy hívják, mint egy változó nyilvános meghatározását a modulon belül. Ez a változó bárhol felhasználható ugyanazon modulon belüli több al-eljárás során.

Tegyük fel, hogy az alább megadott kódot adtam a my_name változóhoz értéknek: „Lalit Salunkhe”.

Kód:

 Opció Explicit Dim my_name as String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "A nevem:" & my_name End Sub 

Ha futtatom ezt a kódot, egy üzenetmezőt fogok látni, amint az az alábbi képernyőképen látható:

Ezt a változót ugyanazon modul különböző alproc-jeiben is felhasználhatjuk. Lásd az alábbi képernyőképet:

Kód:

 Opció Explicit Dim my_name as String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "A nevem:" & my_name End Sub Sub Ex_2 () Dim my_age As Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "A nevem: "& my_name &"; Korom: "& my_age End Sub 

Lásd az Ex_2 alproc. Van egy új változó, amelyet a my_age határoz meg. A my_name nevét adtam a nevemhez és a my_age adataimat az aktuális korom hozzáadásához. Láthatja, hogy a my_name továbbra is elérhető a második alprogramban. Miután futtattam ezt a kódot, az alább látható üzenet mezőként kaphatjuk a kimenetet:

Így definiálhatunk egy változót egy modulon belül.

2. példa - Adjon meg egy változót nyilvánosan az összes modulban

A feat eléréséhez a Dim helyett nyilvános vagy globális kulcsszavakat kell használnia, amelyek a változót nyilvánosvá teszik az összes modul számára, bárhol is dolgozik.

1. lépés: Hozzon létre egy új modult. Lépjen a Beszúrás fülre, majd kattintson a Modul elemre, hogy új modult adjon a VBE alá.

2. lépés: Adjon hozzá explicit lehetőséget a modulon belül.

Kód:

 Opció explicit 

3. lépés: Adjon meg egy új var1 és var2 nevű változót egész számként. De ezúttal a Dim helyett a nyilvános nyilatkozatot használjuk (amit korábban is használtunk).

Kód:

 Opció explicit nyilvános var1 as integer nyilvános var2 as integer 

4. lépés: Most ez a két változó több modulon keresztül használható, ha ugyanazon VBE alatt készültek. Lásd az alábbi példát:

Kód:

 Opció explicit nyilvános var1 mint egész szám nyilvános var2 egész szám sub ex_3 () var1 = 10 var2 = 100 MsgBox "var1 értéke:" & var1 & Chr (13) & "var2 értéke:" & var2 vége Sub 

Az MsgBox szolgáltatás használatával mindkét változóhoz rendeltük az értékeket, és megpróbáltuk megjeleníteni a két változó értékeit.

5. lépés: Futtassa a kódot az F5 billentyű megnyomásával vagy a Play gombra kattintva, az alább látható módon láthatja a kimenetet:

6. lépés: Ugyanazokat a változókat fogjuk használni az 1. modulban, amelyeket az első példában használtunk, és megpróbáljuk kitalálni, hogy a változók ott hozzáférhetők-e vagy sem.

Kód:

 Opció Explicit Dim my_name as String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "A nevem:" & my_name End Sub Sub Ex_2 () Dim my_age As Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "A nevem: "& my_name &"; Életkorom: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" var1 értéke: "& var1 & Chr (13) &" var2 értéke: "& var2 Befejezés Sub 

Ha látta a fenti képernyőképet, ugyanazt a változókészletet használtuk, amelyet a 2. modulban definiáltunk, és olyan értékeink vannak, mint 1000, illetve 999. Az MsgBox függvényt használjuk e két változó értékeinek bemutatására. Futtassa a kódot, és az alábbiak szerint láthatja a kimenetet:

Így használható a változó nyilvánosan a modulon belül és a modulok között.

Dolgok, amikre emlékezni kell

  • Mindig inkább a változók kifejezett meghatározása a VBA-ban. Annak érdekében, hogy ne korlátozódjanak az általuk meghatározott alrendszerre.
  • Kétféleképpen oszthatja meg a nyilvános változókat: egy a modulon belül a hagyományos Dim utasítás használatával, a második pedig a VBE-ben jelen lévő összes modulra a Public vagy a Global utasítás használatával.

Ajánlott cikkek

Ez egy útmutató a VBA Public Variable számára. Itt megvitatjuk, hogyan lehet az Excelben nyilvánosságra hozni a Változtatható VBA kódot, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. VBA globális változók
  2. Egy változó adattábla Excelben
  3. VBA FileSystemObject (FSO)
  4. Két változó adattábla Excelben

Kategória: