Excel VBA javna varijabla

Promjenjiva je važan dio života programera. Svaki put kada programer kodira stvori neki skup varijabli. Varijabla se može smatrati vaučerom koji često koristimo na web stranicama za kupovinu kao što su Flipkart, Amazon itd. Koji vam omogućavaju da imate popust na određene proizvode unaprijed. Isti je slučaj i sa varijablom. Varijabla se može gramatički definirati kao rezervirano mjesto koje zadržava određenu memoriju u sustavu s određenim nazivom. Taj memorijski prostor tada se može koristiti bilo kada s istim nazivom.

VBA varijabla se smatra javnom varijablom u dvije okolnosti. Kada -

  • Može se koristiti zajedno sa svim kodovima unutar modula.
  • Može se koristiti zajedno sa svim kodovima za različite module.

U laičkom smislu, varijabla se smatra javnom varijablom kada se može koristiti u bilo kojem kodu i u bilo kojem modulu. U ovom ćemo članku uskoro vidjeti kako se varijabla može definirati. Kako se to može definirati javno u VBA.

Prije nego što pokrenemo koncept VBA javne varijable, moramo razumjeti da se varijable koje se koriste u jednom podproceduri ne mogu koristiti u drugom podproceduri (tu smo počeli osjećati potrebu da imamo javnu varijablu koji se može koristiti u bilo kojem modulu, u bilo kojem pod-postupku).

Pretpostavimo da stvorimo potprocedura u VBA i tamo definiramo novu varijablu pomoću izraza Dim.

U ovom kodu, var1 je varijabla definirana u podproceduri Ex_Var .

Sada ću definirati novi podprocedura i ironija je da ne mogu upotrijebiti prethodno definirani var1 u ovom pod-postupku. Pogledajte snimku zaslona u nastavku, gdje pokušavam dodijeliti vrijednost 10 var1 u različitim pod-postupcima. Pogledajte i poruku o pogrešci nakon što pokrenemo kôd.

Izjavom varijabli u podpostupke ograničavamo ih da se koriste samo tim pod-postupkom. Veliki je nedostatak deklariranja varijable u okviru pod-postupka.

To dovodi do nove teorije koja uključuje deklaraciju varijable izvan potpostupka. To će pomoći programeru da koristi definirane varijable široko koristi različite podproceure.

Kako deklarirati javne varijable u VBA?

Pogledajmo nekoliko primjera za proglašavanje javnih varijabli u VBA.

Možete preuzeti ovaj Excel predložak VBA javnih varijabli za javne ovdje - VBA predlošku Excel predložak javnih varijabli

Primjer br. 1 - Definiranje varijable javno unutar modula

Pretpostavimo da želimo definirati varijablu kojoj se može javno pristupiti kroz sve kodove unutar jednog modula. Možemo to napraviti. Slijedite korake u nastavku:

Korak 1: Otvorite Visual Basic Editor (VBE) pritiskom na Alt + F11 ili klikom na gumb Visual Basic na kartici Developers u Excelu. Odaberite karticu Umetanje, pomaknite se do Modula i kliknite na nju. Dodat će novi modul unutar VBE-a na kojem će raditi.

Korak 2: Unutar novostvorenog modula dodajte naredbu Option Explicit na početku svog VBA koda (prije nego što stvorite bilo koju varijablu). Opcija eksplicitna vam pomaže ako postoji pogreška pri korištenju definirane varijable. Ako korištena varijabla nije definirana u sustavu, ova opcija izbacuje poruku o pogrešci koja kaže da varijabla nije definirana.

Kodirati:

 Opcija eksplicitna 

Korak 3: Pomoću izraza Dim stvorite novu varijablu s imenom my_name s vrstom podataka kao String.

Kodirati:

 Opcija Izričit Dim my_name kao string 

Ako možete obratiti pažnju, tu smo varijablu izričito definirali. Znači, to nije dio određenog pod-postupka. Što automatski čini ovu varijablu dostupnom za sve kodove unutar modula stvorenog (Module1). To se naziva definiranjem varijable javno unutar modula. Ova se varijabla može koristiti bilo gdje u više potprocesija unutar istog modula.

Pretpostavimo da je u nastavku navedenom kôdu dodijeljena vrijednost varijabli my_name kao "Lalit Salunkhe".

Kodirati:

 Opcija Izričit Dim my_name As String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "My name is:" & my_name End Sub 

Ako pokrenem ovaj kod, vidjet ću okvir za poruke kao što je prikazano na snimci zaslona u nastavku:

Ovu varijablu također možemo koristiti u različitim podprocesovima unutar istog modula. Pogledajte snimku zaslona u nastavku:

Kodirati:

 Opcija Izričit Dim my_name Kao 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 dob je: "& my_age End Sub 

Pogledajte potprokurs Ex_2. Ima novu varijablu definiranu my_age. Koristio sam my_name da dodam svoje ime i my_age da bih dodao trenutnu moju dob. Možete vidjeti da je moje ime i dalje dostupno u drugom podproceduru. Jednom kada pokrenem ovaj kod, možemo dobiti izlaz kao okvir za poruku prikazan dolje:

Ovako možemo definirati varijablu javno unutar modula.

Primjer br. 2 - Definirajte javnu varijablu u svim modulima

Da biste postigli ovaj podvig, trebate koristiti ključne riječi kao Javne ili Globalne, a ne Dim koji varijablu postavlja kao javnu za sav modul gdje god radite.

Korak 1: Stvorite novi modul. Idite na karticu Umetanje, kliknite na Modul da biste dodali novi modul pod VBE.

Korak 2: Dodavanje opcija eksplicitnih u modulu.

Kodirati:

 Opcija eksplicitna 

Korak 3: Definirajte novu varijablu koja se zove var1 i var2 kao cjelobrojni tip. Ali ovaj put pomoću javne izjave umjesto Dim-a (koji smo ranije koristili).

Kodirati:

 Opcija Izričito javna var1 Kao Integer Public var2 Kao Integer 

Korak 4: Sada se ove dvije varijable mogu koristiti u više modula ako su stvorene pod istim VBE. Pogledajte primjer naveden u nastavku:

Kodirati:

 Opcija Izričita javna var1 Kao Integer Public var2 Kao Integer Sub Ex_3 () var1 = 10 var2 = 100 MsgBox "Vrijednost za var1 je:" & var1 & Chr (13) & "Vrijednost za var2 je:" & var2 End Sub 

Vrijednostima smo dodijelili obje varijable pomoću značajke MsgBox, pokušavajući prikazati vrijednosti za te dvije varijable.

Korak 5: Pokrenite kôd pritiskom na tipku F5 ili klikom na gumb Play, vidjet ćete izlaz kao što je prikazano u nastavku:

Korak 6: Upotrijebit ćemo iste varijable u Modulu1 koje smo koristili u prvom primjeru i pokušati dokučiti jesu li varijable tamo dostupne ili ne.

Kodirati:

 Opcija Izričit Dim my_name Kao 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 dob je: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Vrijednost za var1 je: "& var1 & Chr (13) &" Vrijednost za var2 je: "& var2 Kraj Sub 

Ako biste mogli vidjeti gornju snimku zaslona, ​​upotrijebili smo isti skup varijabli definirane u Module2 i imaju vrijednosti poput 1000 i 999. Mi koristimo MsgBox funkciju da predstavimo vrijednosti ove dvije varijable. Pokrenite kôd i možete vidjeti izlaz na sljedeći način:

Ovako se varijabla može javno koristiti unutar modula i preko modula.

Stvari koje treba zapamtiti

  • Uvijek je poželjno definirati varijable u VBA. Tako da nisu ograničeni na podprocedu u kojoj su definirani.
  • Javnu varijablu možete dodijeliti na dva načina: jedan unutar modula pomoću konvencionalne Dim izjave i drugi u svim modulima prisutnim u VBE pomoću bilo javnog ili globalnog izraza.

Preporučeni članci

Ovo je vodič za VBA javnu varijablu. Ovdje smo raspravljali o tome kako deklarirati javnu varijablu u Excelu koristeći VBA kod u excelu, zajedno s praktičnim primjerima i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. VBA globalne varijable
  2. Jedna tablica varijabilnih podataka u Excelu
  3. VBA FileSystemObject (FSO)
  4. Dvije tablice varijabilnih podataka u Excelu

Kategorija: