Excel VBA avalik muutuja

Muutuja on oluline osa programmeerijate elust. Iga kord, kui programmeerija kodeerib, loob ta mõne muutujate komplekti. Muutujat võib pidada vautšeriks, mida me sageli kasutame veebipoodide saitidel (nt Flipkart, Amazon jne). Voucher võimaldab teil teatud toodetele eelnevalt kindlaks määrata teatud allahindluse. Sama on muutujaga. Muutujat saab grammatiliselt määratleda kohahoidjana, mis reserveerib süsteemis teatud nimega mälu. Seda mäluruumi saab seejärel igal ajal sama nimega kasutada.

VBA muutujat käsitletakse avaliku muutujana kahel juhul. Millal -

  • Seda saab kasutada koos kõigi moodulis olevate koodidega.
  • Seda saab kasutada kõigi moodulite kõigi koodide piires.

Tavaliselt peetakse muutujat avalikeks muutujateks, kui seda saab kasutada suvalises koodis ja moodulis. Selles artiklis uurime, kuidas saab muutujat määratleda. Kuidas seda saab VBA-s avalikult määratleda.

Enne VBA avaliku muutuja kontseptsiooni alustamist peame mõistma, et ühes alamprotseduuris kasutatavaid muutujaid ei saa teises alaprotseduuris kasutada (see on koht, kus hakkasime tundma vajadust avaliku muutuja järele. mida saab kasutada mis tahes moodulis ja alamprotseduuris).

Oletame, et loome VBA-s alamprotseduuri ja määratleme seal uue muutuja, kasutades Dim-avaldust.

Selles koodis on var1 muutuja, mis on määratletud alamprotseduuris Ex_Var .

Nüüd määratlen uue alamprotseduuri ja iroonia on see, et ma ei saa selles alaprotseduuris kasutada varem määratletud var1 . Vaadake allolevat ekraanipilti, kus ma üritan erinevate alaprotseduuride korral väärtusele var1 anda1. Vaadake veateadet ka pärast koodi käivitamist.

Deklareerides muutujaid alamprotseduurides, piirame nende kasutamist ainult selles alamprotseduuris. Muutuja deklareerimine alamprotseduuri piires on oluline puudus.

See viib uue teooria juurde, mis hõlmab muutuja deklareerimist väljaspool alaprotseduure. See aitab programmeerijal kasutada määratletud muutujaid laialdaselt koos erinevate alaprotsessidega.

Kuidas kuulutada avalikke muutujaid VBA-s?

Vaatame mõnda näidet avalike muutujate deklareerimiseks VBA-s.

Selle VBA avalike muutujate Exceli malli saate alla laadida siit - VBA avalike muutujate Exceli mall

Näide nr 1 - muutuja määratlemine moodulis

Oletame, et tahame määratleda muutuja, millele pääseb avalikult juurde kõigi moodulite kõigi koodide kaudu. Saame seda teha. Järgige järgmisi samme:

1. samm: avage oma Visual Basic Editor (VBE), vajutades Alt + F11 või klõpsates Exceli vahekaardi Arendajad all nuppu Visual Basic. Valige vahekaart Lisa, liikuge jaotisse Moodulid ja klõpsake sellel. See lisab töötamiseks uue mooduli VBE-s.

2. samm: lisage vastloodud moodulis oma VBA-koodi algusesse käsk Option Explicit (enne mis tahes muutuja loomist). Valik Selgesõnaline aitab teil, kui määratletud muutuja kasutamisel on kirjavigu. Kui kasutatavat muutujat pole süsteemis määratletud, viskab see suvand tõrketeate, et muutuja pole määratletud.

Kood:

 Valik selgesõnaline 

3. samm: looge Dimi avalduse abil uus muutuja nimega my_name andmetüübiga String.

Kood:

 Valik Selgesõnaline Dim my_name as String 

Kui saaksite tähelepanu pöörata, oleme selle muutuja täpselt määratlenud. Tähendab, see ei kuulu konkreetse alamenetluse alla. Mis teeb selle muutuja automaatselt kättesaadavaks kõigi moodulis olevate koodide jaoks (moodul1). Seda nimetatakse muutuja määratlemiseks avalikult moodulis. Seda muutujat saab kasutada kõikjal samas moodulis mitme alamprotseduuri korral.

Oletame allpool toodud koodi, ma olen muutujale my_name andnud väärtuse kui “Lalit Salunkhe”.

Kood:

 Valik Selgesõnaline Tühjenda my_name kui string Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Minu nimi on:" & my_name End Sub 

Kui ma käitan seda koodi, näen allpool ekraanipildil näidatud teadete kasti:

Saame seda muutujat kasutada ka sama mooduli erinevates alamprotsessides. Vaadake allolevat ekraanipilti:

Kood:

 Valik Selgesõnaline Dim my_name as String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "My name is:" & my_name End Sub Sub Ex_2 () Dim my_age as Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "My name is: "& my_name &"; Minu vanus on: "& my_age End Sub 

Vt Ex_2 alamprotsenti. Sellel on uus muutuja, mis on määratletud my_age. Olen oma nime lisamiseks kasutanud my_name ja praeguse vanuse lisamiseks my_age. Näete, et my_name on teises alaprotseduuris endiselt juurdepääsetav. Kui ma selle koodi käivitan, saame väljundi allpool näidatud teadete väljana:

Nii saame määratleda muutuja moodulis.

Näide 2 - määratlege muutuja avalikult kõikides moodulites

Selle feat saavutamiseks peate Dim asemel kasutama märksõnu Avalik või Globaalne, mis seab muutuja kõigi moodulite jaoks avalikuks, olenemata sellest, kus töötate.

1. samm: looge uus moodul. Minge vahekaardile Lisa, klõpsake moodulit, et lisada uus moodul VBE alla.

2. samm: lisage moodulis sisemine võimalus.

Kood:

 Valik selgesõnaline 

3. samm: määratlege uus muutuja nimega var1 ja var2 nii täisarvuna. Kuid seekord kasutati Dimi (mida me varem kasutasime) asemel avalikku avaldust.

Kood:

 Valik Selgesõnaline avalik var1 kui täisarv Avalik var2 kui täisarv 

4. samm: nüüd saab neid kahte muutujat kasutada mitme mooduli puhul, kui need on loodud sama VBE all. Vaadake allpool toodud näidet:

Kood:

 Valik Selgesõnaline avalik var1 kui täisarv Avalik var2 Nagu täisarv Alam Ex_3 () var1 = 10 var2 = 100 MsgBox "Var1 väärtus on:" & var1 & Chr (13) & "Var2 väärtus on:" & var2 End Sub 

Oleme mõlemale muutujale väärtused määranud, kasutades funktsiooni MsgBox, proovides kuvada nende kahe muutuja väärtusi.

5. samm: käivitage kood, vajutades klahvi F5 või klõpsates nuppu Esita, näete väljundit, nagu allpool näidatud:

6. samm: me kasutame mooduli1 all samu muutujaid, mida oleme kasutanud ka esimeses näites, ja proovime aru saada, kas muutujatele on seal juurde pääseda või mitte.

Kood:

 Valik Selgesõnaline Dim my_name as String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "My name is:" & my_name End Sub Sub Ex_2 () Dim my_age as Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "My name is: "& my_name &"; Minu vanus on: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Var1 väärtus on: "& var1 & Chr (13) &" Var2 väärtus on: "& var2 Lõpu alam 

Kui näete ülaltoodud ekraanipilti, oleme kasutanud samu muutujate komplekte, mis on määratletud moodulis 2, ja nende väärtused on vastavalt 1000 ja 999. Nende kahe muutuja väärtuste esitamiseks kasutame funktsiooni MsgBox. Käivitage kood ja näete väljundit järgmiselt:

Nii saab muutujat avalikult kasutada moodulis ja moodulite vahel.

Asjad, mida meeles pidada

  • Alati eelistatakse muutujaid selgelt määratleda VBA-s. Nii et nad ei piirduks alamenetlusega, milles nad on määratletud.
  • Avalikke muutujaid saab määrata kahel viisil: üks moodulis tavalise Dim-avalduse abil ja teine ​​kõigi VBE-s esinevate moodulite jaoks, kasutades avalikku või globaalset avaldust.

Soovitatavad artiklid

See on VBA avaliku muutuja juhend. Siin arutletakse, kuidas avalikkust muutujaks Excelis kuulutada, kasutades VBA koodi Excelis, koos praktiliste näidete ja allalaaditava Exceli malliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA globaalsed muutujad
  2. Üks muutujate tabel Excelis
  3. VBA FileSystemObject (FSO)
  4. Kaks muutujate andmete tabelit Excelis

Kategooria: