Excel VBA javna spremenljivka

Spremenljivka je pomemben del življenja programerjev. Vsakič, ko programer kodira, ustvari kakšen niz spremenljivk. Spremenljivko lahko štejemo kot bon, ki ga pogosto uporabljamo na spletnih mestih za nakupovanje, kot so Flipkart, Amazon, itd., Ki vam omogočajo določen popust na določene izdelke vnaprej. Enako je s spremenljivko. Spremenljivko lahko slovnično določimo kot rezerviralec mesta, ki v sistemu zasede nekaj spomina z določenim imenom. Ta pomnilniški prostor lahko nato uporabite kadar koli z istim imenom.

V dveh okoliščinah spremenljivka VBA velja za javno spremenljivko. Kdaj -

  • Uporablja se lahko skupaj z vsemi kodami v modulu.
  • Lahko se uporablja vzdolž vseh kod za različne module.

V laičnem smislu spremenljivka velja za javno spremenljivko, kadar jo je mogoče uporabiti v kateri koli kodi in katerem koli modulu. V tem članku bomo videli, kako je mogoče definirati spremenljivko. Kako je mogoče javno definirati znotraj VBA.

Preden začnemo s konceptom javne spremenljivke VBA, moramo razumeti, da spremenljivk, ki se uporabljajo v enem podpostopku, ni mogoče uporabiti v drugem podpostopku (tam smo začeli čutiti potrebo po javni spremenljivki ki se lahko uporablja v katerem koli modulu, v katerem koli podpostopku).

Predpostavimo, da ustvarimo podproceptu v VBA in tam določimo novo spremenljivko z uporabo stavka stavek Dim.

V tej kodi je var1 spremenljivka, določena v podpostopku Ex_Var .

Zdaj bom določil nov podpostop in ironija je, da v tem podpostopku ne morem uporabiti predhodno definiranega var1 . Oglejte si spodnji posnetek zaslona, ​​kjer poskušam dodeliti vrednost 10 v različici podpostopka. Glej sporočilo o napaki tudi po zagonu kode.

Z razglasitvijo spremenljivk v okviru podpostopkov omejimo, da jih lahko uporablja samo ta poddostop. To je velika pomanjkljivost deklariranja spremenljivke v okviru podpostopka.

To vodi k novi teoriji, ki vključuje deklaracijo spremenljivke zunaj podpostopkov. To bo programerju pomagalo, da bo definirane spremenljivke široko uporabljal z različnimi poddelovi.

Kako razglasiti javne spremenljivke v VBA?

Poglejmo nekaj primerov za razglasitev javnih spremenljivk v VBA.

Predlogo programa Excel za javne spremenljivke VBA lahko prenesete tukaj - Predloga programa Excel v obliki javnih spremenljivk

Primer # 1 - Določitev javne spremenljivke znotraj modula

Recimo, da želimo definirati spremenljivko, do katere lahko dostopamo javno prek vseh kod v enem modulu. To lahko storimo. Sledite spodnjim korakom:

1. korak: Odprite urejevalnik Visual Basic (VBE) tako, da pritisnete Alt + F11 ali kliknete gumb Visual Basic na kartici Developers v Excelu. Izberite zavihek Vstavljanje, pomaknite se do modula in kliknite nanj. V VBE bo dodal nov modul, s katerim bo deloval.

2. korak: V novoustanovljeni modul na začetku kode VBA (preden ustvarite katero koli spremenljivko) dodajte ukaz Explicit Explicit. Možnost Explicit vam pomaga, če je med uporabo definirane spremenljivke prišlo do tipkarske napake. Če uporabljena spremenljivka ni definirana v sistemu, ta možnost vrže sporočilo o napaki, ki pravi, da spremenljivka ni definirana.

Koda:

 Možnost nazorno 

3. korak: Uporabite stavek Dim, da ustvarite novo spremenljivko z imenom my_name s tipom podatkov kot String.

Koda:

 Možnost Izrecno Dim my_name As String 

Če ste pozorni, smo to spremenljivko izrecno opredelili. Pomeni, da ni del posebnega podpostopka. S tem je ta spremenljivka samodejno na voljo za vse kode znotraj ustvarjenega modula (Module1). To se imenuje kot javno definiranje spremenljivke znotraj modula. Ta spremenljivka se lahko uporablja kjer koli v več podpostopkih v istem modulu.

Recimo spodnji kodi, da sem spremenljivki my_name dodeljena vrednost kot "Lalit Salunkhe".

Koda:

 Možnost Izrecno Dim my_name As String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Moje ime je:" & my_name End Sub 

Če zaženem to kodo, bom videl polje s sporočili, kot je prikazano na posnetku zaslona spodaj:

To spremenljivko lahko uporabimo tudi v različnih podprocesih v istem modulu. Oglejte si spodnji posnetek zaslona:

Koda:

 Možnost Izrecno Dim my_name As String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Moje ime je:" & my_name End Sub Sub Ex_2 () Dim my_age As Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "Moje ime je: "& my_name &"; Moja starost je: "& my_age End Sub 

Glej podproračun Ex_2 Ima novo spremenljivko, definirano my_age. Svoje ime sem uporabil, da sem dodal svoje ime, in mojo ime, da sem dodal trenutno starost. Vidite, da je moje ime še vedno dostopno v drugem podpostopku. Ko zaženem to kodo, lahko dobimo izhod kot polje s sporočili, prikazano spodaj:

Tako lahko znotraj modula javno definiramo spremenljivko.

Primer # 2 - Določite javno spremenljivko v vseh modulih

Če želite doseči ta podvig, morate namesto Dim uporabiti ključne besede kot Javne ali Globalne, kar spremenljivko nastavi kot javno za ves modul, kjer koli delate.

1. korak: Ustvarite nov modul. Pojdite na zavihek Vstavljanje, kliknite modul in dodajte nov modul pod VBE.

2. korak: Dodajte možnost, ki je izrecno navedena v modulu.

Koda:

 Možnost nazorno 

Korak 3: Določite novo spremenljivko z imenom var1 in var2 kot celo število tipa. Toda tokrat z uporabo javne izjave namesto Dim (ki smo jo uporabili prej).

Koda:

 Možnost Izrecna javna var1 Kot Integer Public var2 Kot Integer 

4. korak: Zdaj lahko te dve spremenljivki uporabljate v več modulih, če jih ustvarite v istem VBE. Glej spodnji primer:

Koda:

 Možnost Izrecna javna var1 Kot Integer Public var2 Kot celoten pod Ex_3 () var1 = 10 var2 = 100 MsgBox "Vrednost za var1 je:" & var1 & Chr (13) & "Vrednost za var2 je:" & var2 End Sub 

Vrednosti smo dodelili obema spremenljivkama s pomočjo funkcije MsgBox in poskušali prikazati vrednosti za ti dve spremenljivki.

5. korak: Zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Play, lahko vidite izhod, kot je prikazano spodaj:

6. korak: Uporabili bomo iste spremenljivke pod Module1, ki smo jih uporabili v prvem primeru, in poskusili ugotoviti, ali so spremenljivke tam dostopne ali ne.

Koda:

 Možnost Izrecno Dim my_name As String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Moje ime je:" & my_name End Sub Sub Ex_2 () Dim my_age As Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "Moje ime je: "& my_name &"; Moja starost je: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Vrednost za var1 je: "& var1 & Chr (13) &" Vrednost za var2 je: "& var2 Končni pod 

Če bi lahko videli zgornji posnetek zaslona, ​​smo uporabili isti niz spremenljivk, ki so definirani v Module2 in imajo vrednosti, kot 1000 oziroma 999. Za predstavitev vrednosti teh dveh spremenljivk uporabljamo funkcijo MsgBox. Zaženite kodo in izhod si lahko ogledate spodaj:

Tako se lahko spremenljivka javno uporablja znotraj modula in v modulih.

Stvari, ki jih je treba zapomniti

  • Vedno je bolje, da spremenljivke izrecno določite v VBA. Tako da niso omejeni na podproces, v katerem so opredeljeni.
  • Javno spremenljivko lahko dodelite na dva načina: eno v modulu z uporabo običajne izjave Dim in drugo v vseh modulih, predstavljenih v VBE, z uporabo enega od javnih ali globalnih stavkov.

Priporočeni članki

To je vodnik za javno spremenljivko VBA. Tukaj razpravljamo o tem, kako v programu Excel prijaviti javno spremenljivko z uporabo VBA kode v excelu skupaj s praktičnimi primeri in prenosljivo predlogo excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Globalne spremenljivke VBA
  2. Ena spremenljivka podatkov v tabeli Excel
  3. VBA FileSystemObject (FSO)
  4. Dve tabeli spremenljivih podatkov v Excelu

Kategorija: