Variabilă publică Excel VBA

Variabila este o parte importantă a vieții programatorilor. De fiecare dată când un programator codează el creează un set de variabile. O variabilă poate fi considerată un voucher pe care îl folosim frecvent pe site-urile de cumpărături online, cum ar fi Flipkart, Amazon etc., care vă permite să aveți o anumită reducere la anumite produse. La fel se întâmplă și cu o variabilă. O variabilă poate fi definită din punct de vedere gramatic ca un marcator de locație care își rezervă o anumită memorie în sistem cu un anumit nume. Spațiul de memorie poate fi folosit oricând cu același nume.

O variabilă VBA este considerată ca o variabilă publică în două circumstanțe. Cand -

  • Poate fi utilizat împreună cu toate codurile din cadrul unui modul.
  • Poate fi utilizat de-a lungul tuturor codurilor pentru diferite module.

În termeni laici, o variabilă este considerată ca o variabilă publică atunci când poate fi utilizată în orice cod și în orice modul. În acest articol, suntem pe cale să vedem cum poate fi definită o variabilă. Cum poate fi definit public în cadrul VBA.

Înainte de a începe conceptul de VBA Public Variable, trebuie să înțelegem că variabilele utilizate într-o sub-procedură nu pot fi utilizate în cealaltă subprocedură (de aceea am început să simțim nevoia de a avea o variabilă publică care poate fi utilizat în orice modul, orice sub-procedură).

Să presupunem că creăm o subprocedură într-un VBA și definim acolo o nouă variabilă folosind instrucțiunea Dim.

În acest cod, var1 este variabila definită în subprocedura Ex_Var .

Acum, voi defini o nouă subprocedură, iar ironia este că nu pot folosi var1 definit anterior în această subprocedură. Vedeți imaginea de mai jos, în care încerc să atribuie valoarea 10 la var1 în cadrul sub-procedurii diferite. Vedeți și mesajul de eroare după ce rulăm codul.

Prin declararea variabilelor în cadrul sub-procedurilor, le restricționăm să fie utilizate doar de acea subprocedură. Este un dezavantaj major al declarării unei variabile în cadrul unei sub-proceduri.

Aceasta conduce la noua teorie, care include declarația variabilă în afara sub-procedurilor. Acest lucru va ajuta programatorul să folosească pe scară largă variabilele definite cu diferite subproceduri.

Cum se declară variabile publice în VBA?

Să ne uităm la câteva exemple pentru a declara variabile publice în VBA.

Puteți descărca acest șablon Excel variabile publice VBA aici - șablonul VBA Public Variables Excel

Exemplul # 1 - Definirea unei variabile public în cadrul unui modul

Să presupunem că dorim să definim o variabilă care poate fi accesată public pe toate codurile dintr-un singur modul. Putem face asta. Urmați pașii de mai jos:

Pasul 1: Deschideți Visual Basic Editor (VBE) apăsând Alt + F11 sau făcând clic pe butonul Visual Basic din fila Dezvoltatori din Excel. Selectați fila Inserare, navigați la Module și faceți clic pe ea. Acesta va adăuga un nou modul în VBE la care să funcționeze.

Pasul 2: În modulul nou creat, adăugați comanda Option Explicit la începutul codului VBA (înainte de a crea orice variabilă). Opțiunea Explicit vă ajută dacă există tipograf în timp ce utilizați variabila definită. Dacă variabila utilizată nu este definită în sistem, această opțiune aruncă un mesaj de eroare spunând că variabila nu este definită.

Cod:

 Opțiunea Explicită 

Pasul 3: Utilizați o instrucțiune Dim pentru a crea o nouă variabilă numită nume_ nume cu tip de date ca String.

Cod:

 Opțiune Explicați Dim_numele meu ca șir 

Dacă ați putea să acordați atenție, am definit această variabilă în mod explicit. Adică, nu face parte din subprocedura specifică. Ceea ce face ca această variabilă să fie disponibilă automat pentru toate codurile din modulul creat (Modulul 1). Aceasta se numește definirea publică a unei variabile în cadrul unui modul. Această variabilă poate fi utilizată oriunde pe mai multe sub-proceduri din cadrul aceluiași modul.

Să presupunem că codul dat mai jos, am atribuit valoare variabilei mele nume ca „Lalit Salunkhe”.

Cod:

 Option Explicit Dim Dim_nome ca String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Numele meu este:" & My_name End Sub 

Dacă rulez acest cod, voi vedea o casetă de mesaje, așa cum se arată în imaginea de mai jos:

De asemenea, putem utiliza această variabilă în sub-proc diferite din cadrul aceluiași modul. Vedeți ecranul prezentat mai jos:

Cod:

 Option Explicit Dim my_name As String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Numele meu este:" & my_name End Sub Sub Ex_2 () Dim my_age As Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "Numele meu este: "& my_name &"; Vârsta mea este: "& My_age End Sub 

Consultați subprocesul Ex_2. Are o nouă variabilă definită my_age. Am folosit my_name pentru a adăuga numele meu și my_age pentru a adăuga vârsta curentă a mea. Puteți vedea numele meu este încă accesibil în a doua subprocedură. Odată ce am executat acest cod, putem obține ieșirea ca o casetă de mesaj prezentată mai jos:

Așa putem defini public o variabilă în cadrul unui modul.

Exemplul # 2 - Definiți o variabilă publică în toate modulele

Pentru a realiza acest obiectiv, trebuie să utilizați cuvintele cheie ca Public sau Global, în loc de Dim, care stabilește variabila ca publică pentru tot modulul, oriunde lucrați.

Pasul 1: Creați un modul nou. Accesați fila Inserare, faceți clic pe Modul pentru a adăuga un nou modul sub VBE.

Pasul 2: Adăugați Opțiunea Explicit în cadrul modulului.

Cod:

 Opțiunea Explicită 

Pasul 3: Definiți o nouă variabilă numită var1 și var2 atât ca un număr întreg. Dar de această dată folosind declarația Publică în loc de Dim (pe care am folosit-o anterior).

Cod:

 Opțiune Explicit Public var1 Ca Integer Public var2 Ca Integer 

Pasul 4: Acum, aceste două variabile pot fi utilizate pe mai multe module dacă sunt create sub același VBE. Vezi exemplul dat mai jos:

Cod:

 Opțiunea Explicit Public var1 Ca Integer Public var2 Ca Integer Sub Ex_3 () var1 = 10 var2 = 100 MsgBox "Valoarea pentru var1 este:" & var1 & Chr (13) & "Valoarea pentru var2 este:" & var2 End Sub 

Am atribuit valorile ambelor variabile folosind o caracteristică MsgBox, încercând să afișăm valori pentru cele două variabile.

Pasul 5: Rulați codul apăsând tasta F5 sau făcând clic pe butonul Redare, puteți vedea o ieșire așa cum se arată mai jos:

Pasul 6: Vom folosi aceleași variabile sub Modulul 1 pe care l-am folosit în primul exemplu și vom încerca să aflăm dacă variabilele sunt accesibile acolo sau nu.

Cod:

 Option Explicit Dim my_name As String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Numele meu este:" & my_name End Sub Sub Ex_2 () Dim my_age As Integer my_name = "Lalit Salunkhe" my_age = 28 MsgBox "Numele meu este: "& my_name &"; Vârsta mea este: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Valoarea pentru var1 este: "& var1 & Chr (13) &" Valoarea pentru var2 este: "& var2 Sub final 

Dacă ați putea vedea imaginea de mai sus, am folosit același set de variabile definite în Modulul 2 și au valori precum 1000, respectiv 999. Folosim funcția MsgBox pentru a prezenta valorile respectivelor două variabile. Rulați codul și puteți vedea ieșirea ca mai jos:

Așa se face că o variabilă poate fi utilizată public în modul și în module.

Lucruri de amintit

  • Este întotdeauna de preferat să definiți variabilele în mod explicit în VBA. Astfel încât să nu se limiteze la subprocedura în care sunt definite.
  • Puteți atribui o variabilă publică în două moduri: unul în cadrul unui modul folosind instrucțiunea Dim convențională și al doilea peste toate modulele prezente în VBE folosind oricare dintre declarațiile publice sau globale

Articole recomandate

Acesta este un ghid pentru VBA Public Variable. Aici vom discuta despre modul de declarare a variabilei publice în Excel folosind codul VBA în excel, alături de exemple practice și șablon Excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Variabile globale VBA
  2. Un tabel de date variabile în Excel
  3. VBA FileSystemObject (FSO)
  4. Două tabele de date variabile în Excel

Categorie: