Javne spremenljivke VBA - Kako razglasiti javne spremenljivke v VBA (primeri)

Javne spremenljivke v VBA

"Javne spremenljivke" v VBA, kot že ime pove, so spremenljivke, za katere je navedeno, da jih javno uporabljajo za vse makre, ki jih pišemo v isti modul, pa tudi v različne module. Torej, ko so spremenljivke deklarirane na začetku katerega koli makra, se imenujejo "javne spremenljivke" ali "globalne spremenljivke".

Kako razglasiti javne spremenljivke v VBA?

Običajno zaženemo podproceduro VBA, znotraj podprocedure pa prijavimo svoje spremenljivke. To je običajna praksa, ki smo jo vsi počeli do tega članka.

Vsakič, ko napišemo nov podproces, razglasimo sveže spremenljivke z dodeljenimi podatkovnimi tipi. Toda danes se bomo poslovili od ponavljajočih se spremenljivk v podprocedurah.

Spomnimo se starega sloga. Spodaj je koda, ki sem jo napisal z eno spremenljivko.

V podprocedu "Public_Variable" sem razglasil to spremenljivko. Zdaj ne morem uporabljati nobenega drugega modula.

Zdaj v podprocesu "Public_Variable1" ne moremo uporabiti spremenljivke "Var1", ki je bila deklarirana v prvem podproceduri "Public_Variable." To je omejitev deklariranja spremenljivk znotraj podpostopov.

# 1 - Spremenljivke na ravni modula

Kot vsi vemo, makro zapisujemo v module. Vstavimo lahko številne module. V VBA lahko razglasimo dve vrsti "javnih spremenljivk", ena je uporaba spremenljivk za vse podpostopke v istem modulu, druga pa uporaba spremenljivk za vse podprocedure v vseh modulih.

Najprej bomo videli razglasitev javnih spremenljivk v VBA na ravni modula.

Če želimo uporabiti spremenljivke za vse podprocedure v istem modulu, moramo spremenljivke razglasiti na vrhu modula, preden zaženemo makre.

Spodaj je primer posnetka zaslona za vaše razumevanje.

Kot lahko vidimo na zgornji sliki, sem pred spremembo makra v modulu razglasil dve spremenljivki. Zdaj lahko ti dve spremenljivki uporabimo v poljubnem številu makrov v tem modulu.

Znotraj podprocedure začne vnašati ime spremenljivke, ki jo vidite, da bo seznam IntelliSense prikazal imena spremenljivk.

Zdaj lahko te spremenljivke uporabljamo v vseh makrih, ki jih zapišemo v “Module1”.

Te spremenljivke so omejene na uporabo samo v tem modulu. Na primer, zdaj bom vstavil še en modul in napisal nov makro.

V modulu 2 ne morem uporabiti tistih spremenljivk, ki smo jih navedli v modulu 1.

Torej, kako lahko te spremenljivke omogočimo v VBA za uporabo v vseh modulih in v vseh podprocedurah?

# 2 - Izjavi spremenljivke jih uporabi javno

Vrnite se na “Modul1” v tem modulu. Spremenljivke smo razglasili, preden smo začeli pisati način makra in tudi kakšen svet smo uporabili za razglasitev teh spremenljivk.

Naš tradicionalen način uporabe besede "DIM" smo razglasili za te spremenljivke.

Kadar uporabljamo samo besedo »DIM«, je omejena na uporabo v vseh makrih, vendar v istem modulu.

Namesto besede »DIM« moramo uporabiti besedo »JAVNO« ali »GLOBALNO«, da jih omogočimo za uporabo v vseh modulih makrov.

Za objavo spremenljivke sem uporabil besedo "Global". Uporabite lahko tudi besedo "Javno".

Tako lahko z uporabo besed "Global" in "Public" razglasimo spremenljivke, ki se lahko uporabljajo za vse makre v modulih.

Stvari, ki si jih je treba zapomniti

  • Dobra praksa je, da spremenljivke prijavite javno, vendar potrebujete dovolj izkušenj, preden jih prijavite.
  • Ko se makri začnejo izvajati čez, bo vrednost spremenljivke makra enaka.
  • Določite določeno vrednost spremenljivki znotraj določenega makra, da se izognete kakršni koli zmedi.

Zanimive Članki...