Globalne spremenljivke VBA - Kako razglasiti globalno spremenljivko v VBA?

Nekatere funkcije so definirane znotraj funkcije in se uporabljajo znotraj funkcij, nekatere spremenljivke pa so definirane zunaj funkcij in jih uporabljajo vse funkcije, take spremenljivke pa se uporabljajo kot globalne spremenljivke, na primer spremenljivke, deklarirane pod podfunkcijo znan kot globalne spremenljivke.

Globalna spremenljivka v Excelu VBA

Razglasitev spremenljivke se zdi precej preprosta, toda za dobro uporabo moramo razumeti obseg teh spremenljivk. Pogosto spremenljivke za vsak makro vsakič prijavimo znotraj podprocedure. Toda z razglasitvijo ene spremenljivke jo lahko uporabimo v vseh makroh istega modula in drugih modulih trenutnega projekta VBA. V tem članku vam bomo pokazali, kako prijavite globalne spremenljivke v Excelu VBA.

Kaj so globalne spremenljivke v Excelu VBA?

Globalne spremenljivke VBA so spremenljivke, ki so deklarirane pred začetkom katerega koli makra v modulu. Ko spremenljivke deklariramo z uporabo »Javno« ali »Globalno«, postane »Globalna spremenljivka«.

Spremenljivk podprocedura ni mogoče uporabiti nikjer.

Spremenljivko običajno prijavimo znotraj podprograma v VBA z besedo »Dim«.

Poglejte zgornjo sliko. Spremenljivko "k" sem razglasil za celo število znotraj podprocedure Global_Example1.

Recimo, da to spremenljivko kadar koli uporabimo znotraj tega postopka Sub. Vendar te spremenljivke ne morem uporabiti v drugem podprocesu niti v istem modulu razreda v VBA ali drugem modulu.

Kot je prikazano na zgornji sliki, spremenljivke "k", ki je deklarirana v podprocesu Global_Example1, ni mogoče uporabiti v podproceduri Global_Example2.

Podobno spremenljivke „j“, deklarirane v podprocesu Global_Example2, ni mogoče uporabiti v podprocesu Global_Example1, čeprav sta oba podprocedura v istem modulu.

Kako razglasiti globalno spremenljivko v VBA?

Sledijo načini razglasitve globalne spremenljivke v excelu VBA.

# 1 - Spremenljivke modula je mogoče uporabiti v katerem koli podprocesu istega modula

Kot smo videli, spremenljivk podprocedura ne moremo uporabiti v nobenem od modulov. Da bodo na voljo za vse postopke Sub v istem modulu, moramo spremenljivke prijaviti na vrhu modula.

Na zgornji sliki sem spremenljivko razglasil samo na začetku modula. Spremenljivko "MyNumber" sem izrazil kot celo število v modulu 1 .

Ko je spremenljivka razglašena na vrhu modula, lahko isto spremenljivko uporabimo za vse druge podprocedure v istem modulu. V tem primeru lahko spremenljivko "MyNumber" uporabimo za vse podprocedure v modulu 1.

Težava je v tem, da jih ne moremo uporabiti v nobenem drugem modulu. V tem primeru spremenljivke »MyNumber«, deklarirane v modulu 1, v modulu 2 ni mogoče uporabiti .

# 2 - Globalne spremenljivke je mogoče uporabiti v katerem koli podprocesu in tudi v katerem koli modulu

Zdaj smo med uporabo videli dve vrsti deklaracije spremenljivk in njihov obseg. Zanimivo je, da spremenljivko lahko prijavimo v katerem koli od modulov in jo uporabimo za vse podprocedure v vseh modulih istega projekta VBA.

Če želimo spremenljivko narediti na voljo za vse postopke Sub v vseh modulih, spremenljivke na vrhu modula ne prijavimo z besedo »Dim«, temveč z imenom »Public« ali »Global«.

Na zgornji sliki lahko vidite, da sem uporabil besedo "Javno" za razglasitev spremenljivke namesto naše veteranske besede "Dim".

Na zgornjem posnetku zaslona sem spremenljivko razglasil v modulu 1. Imam še dva modula, imenovana Module 2 & Module 3.

Ker sem spremenljivko razglasil z besedo "Javno" na vrhu modula, zdaj lahko do teh spremenljivk dostopam v katerem koli podprocedura v katerem koli modulu iste delovne knjige.

Ne samo »Javno«, ampak lahko uporabimo tudi besedo »Global« za razglasitev spremenljivke.

Global & Public sta dve ključni besedi za razglasitev spremenljivke in njihovo dostopnost prek modulov v VBA.

Stvari, ki si jih je treba zapomniti

  • Ko se makro excel zažene z vrednostjo globalne spremenljivke, je spremenljivka enaka v vseh postopkih Sub.
  • Bolje je vzdrževati določen modul za razglasitev globalnih spremenljivk v VBA in vse spremenljivke v enem modulu.
  • Edino, kako lahko ponastavimo vrednost spremenljivke, je ponastavitev kode makra s pritiskom na gumb za ustavitev.

Zanimive Članki...