Excel VBA julkinen muuttuja

Muuttuja on tärkeä osa ohjelmoijien elämää. Aina ohjelmoija koodittaa hän luo joitain muuttujia. Muuttujaa voidaan pitää tositeena, jota käytämme usein verkkokaupoissa, kuten Flipkart, Amazon, jne., Jonka avulla voit saada tietyn alennuksen tietyistä tuotteista ennalta. Sama tapaus on muuttujalla. Muuttuja voidaan grammattisesti määritellä paikkamerkitsimeksi, joka varaa järjestelmässä muistia tietyllä nimellä. Tätä muistitilaa voidaan sitten käyttää milloin tahansa samalla nimellä.

VBA-muuttujaa pidetään julkisena muuttujana kahdessa tilanteessa. Kun -

  • Sitä voidaan käyttää moduulin kaikkien koodien kanssa.
  • Sitä voidaan käyttää kaikissa eri moduulien koodeissa.

Maallikkojen mukaan muuttujaa pidetään julkisena muuttujana, kun sitä voidaan käyttää missä tahansa koodissa ja missä tahansa moduulissa. Tässä artikkelissa aiomme nähdä, kuinka muuttuja voidaan määritellä. Kuinka se voidaan määritellä julkisesti VBA: n sisällä.

Ennen kuin aloitamme VBA-julkisen muuttujan käsitteen, meidän on ymmärrettävä, että yhdessä alaproseduurissa käytettyjä muuttujia ei voida käyttää toisessa alamenettelyssä (tällöin aloimme tuntea tarpeen saada julkinen muuttuja jota voidaan käyttää missä tahansa moduulissa, missä tahansa alaproseduurissa).

Oletetaan, että luot aliproseduurin VBA: han ja määrittelemme siellä uuden muuttujan Dim-käskyn avulla.

Tässä koodissa var1 on muuttuja, joka määritetään alamenettelyssä Ex_Var .

Nyt määrittelen uuden alimenettelyn, ja ironista on, että en voi käyttää aiemmin määriteltyä var1 : tä tässä alaproseduurissa . Katso alla oleva kuvakaappaus, jossa yritän antaa arvon 10 var1: lle eri alamenettelyjen yhteydessä. Katso myös virheilmoitus koodin suorittamisen jälkeen.

Julistamalla muuttujat alaproseduurien sisällä, rajoitamme niiden käyttöä vain kyseisessä alaproseduurissa. Muuttujan ilmoittaminen alimenettelyssä on merkittävä haitta.

Tämä johtaa uuteen teoriaan, joka sisältää muuttujan ilmoituksen alamenettelyjen ulkopuolella. Tämä auttaa ohjelmoijaa käyttämään määriteltyjä muuttujia laajasti eri aliprosessien kanssa.

Kuinka julistaa julkiset muuttujat VBA: ssa?

Katsotaanpa muutamia esimerkkejä julkisten muuttujien ilmoittamiseksi VBA: ssa.

Voit ladata tämän VBA julkisten muuttujien Excel-mallin täältä - VBA julkisten muuttujien Excel-mallin

Esimerkki 1 - Muuttujan määritteleminen julkisesti moduulissa

Oletetaan, että haluamme määritellä muuttujan, jota voidaan käyttää julkisesti kaikkien moduulien kaikkien koodien sisällä. Me voimme tehdä tuon. Noudata alla olevia vaiheita:

Vaihe 1: Avaa Visual Basic Editor (VBE) napsauttamalla Alt + F11 tai napsauttamalla Visual Basic -painiketta Excelin Kehittäjät-välilehdessä. Valitse Lisää välilehti, siirry moduuliin ja napsauta sitä. Se lisää uuden moduulin VBE: hen työskentelemään.

Vaihe 2: Lisää äskettäin luodussa moduulissa Option Explicit -komento VBA-koodin alkuun (ennen minkään muuttujan luomista). Option Explicit auttaa sinua, jos kirjoitettua muuttujaa käytettäessä on kirjoitusvirhe. Jos käytettyä muuttujaa ei ole määritelty järjestelmässä, tämä vaihtoehto antaa virheilmoituksen, jonka mukaan muuttujaa ei ole määritelty.

Koodi:

 Vaihtoehto eksplisiittinen 

Vaihe 3: Luo uusi muuttuja nimeltä my_name tiedostomuodolla String Dim-käskyllä.

Koodi:

 Vaihtoehto Explicit Dim my_name As String 

Jos voisit kiinnittää huomiota, olemme määritellyt tämän muuttujan nimenomaisesti. Merkitys, se ei ole osa tiettyä alamenettelyä. Mikä tekee tämän muuttujan käytettäväksi automaattisesti kaikissa luodun moduulin koodeissa (Moduuli1). Tätä kutsutaan muuttujan määrittelemiseksi julkisesti moduulissa. Tätä muuttujaa voidaan käyttää missä tahansa saman moduulin useiden aliproseduurien välillä.

Oletetaan, että alla oleva koodi on antanut arvon muuttujalle my_name nimellä “Lalit Salunkhe”.

Koodi:

 Vaihtoehto Täsmällinen himmentää my_name nimellä String Sub Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Nimeni on:" & my_name End Sub 

Jos suoritan tämän koodin, näen seuraavassa kuvakaappauksessa olevan viestiruudun:

Voimme käyttää tätä muuttujaa myös saman moduulin eri aliprosesseissa. Katso alla oleva kuvakaappaus:

Koodi:

 Vaihtoehto Täsmällinen himmentää oma_nimi merkkijonona alaosa Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Nimeni on:" & minun_nimi Loppu alaosalaji Ex_2 () himmentää minun_nimi kokonaislukuna my_name = "Lalit Salunkhe" my_age = 28 MsgBox "Nimeni on: "& my_name &"; Ikä on: "& my_age End Sub 

Katso Ex_2-aliprosessi. Sillä on uusi muuttuja, joka on määritelty my_age. Olen lisännyt nimeni_nimelläni ja oma_ni lisätäkseni nykyisen ikäni. Voit nähdä, että my_name on edelleen käytettävissä toisessa alamenettelyssä. Kun olen suorittanut tämän koodin, voimme saada tulosteen alla olevana viestiruuduna:

Näin voimme määritellä muuttujan julkisesti moduulissa.

Esimerkki 2 - Määritä muuttuja julkisesti kaikissa moduuleissa

Tämän saavuttamiseksi sinun on käytettävä avainsanoja julkisina tai globaaleina, ei Dim-asemesta, joka asettaa muuttujan julkiseksi kaikille moduuleille missä työskentelet.

Vaihe 1: Luo uusi moduuli. Siirry Lisää- välilehteen, napsauta moduulia lisätäksesi uuden moduulin VBE-kohtaan.

Vaihe 2: Lisää moduulin sisäinen vaihtoehto.

Koodi:

 Vaihtoehto eksplisiittinen 

Vaihe 3: Määritä uusi muuttuja nimeltään var1 ja var2 molemmat tyyppilukuina. Mutta tällä kertaa käyttämällä julkista lausuntoa Dimin (jota käytimme aikaisemmin) sijasta.

Koodi:

 Vaihtoehto Explicit Public var1 As Integer Julkinen var2 As Integer 

Vaihe 4: Nyt näitä kahta muuttujaa voidaan käyttää useissa moduuleissa, jos ne luodaan samalla VBE: llä. Katso alla oleva esimerkki:

Koodi:

 Vaihtoehto Täsmällinen Julkinen var1 As Kokonaisluku Julkinen var2 Kuten kokonaisluku Sub Ex_3 () var1 = 10 var2 = 100 MsgBox "Var1: n arvo on:" & var1 & Chr (13) & "Var2: n arvo on:" & var2 End Sub 

Olemme määrittäneet arvot molemmille muuttujille MsgBox-ominaisuuden avulla, yrittäen näyttää näiden kahden muuttujan arvoja.

Vaihe 5: Suorita koodi painamalla F5-näppäintä tai napsauttamalla Play-painiketta, näet tulosteen alla olevan kuvan mukaisesti:

Vaihe 6: Käytämme moduulissa 1 samoja muuttujia, joita olemme käyttäneet ensimmäisessä esimerkissä, ja yritämme selvittää, ovatko muuttujat siellä käytettävissä.

Koodi:

 Vaihtoehto Täsmällinen himmentää oma_nimi merkkijonona alaosa Ex_1 () my_name = "Lalit Salunkhe" MsgBox "Nimeni on:" & minun_nimi Loppu alaosalaji Ex_2 () himmentää minun_nimi kokonaislukuna my_name = "Lalit Salunkhe" my_age = 28 MsgBox "Nimeni on: "& My_name &"; Ikä on: "& my_age End Sub Sub Ex_public () var1 = 1000 var2 = 999 MsgBox" Var1: n arvo on: "& var1 & Chr (13) &" Var2: n arvo on: "& var2 End Sub 

Jos näit yllä olevan kuvakaappauksen, olemme käyttäneet samoja muuttujajoukkoja, jotka on määritelty moduulissa 2, ja arvoilla on vastaavasti 1000 ja 999. Käytämme MsgBox-toimintoa näiden kahden muuttujan arvojen esittämiseksi vastaavasti. Suorita koodi ja näet tulosteen alla:

Näin muuttujaa voidaan käyttää julkisesti moduulissa ja moduulien välillä.

Muistettavat asiat

  • Aina on parempi määritellä muuttujat nimenomaisesti VBA: ssa. Joten ne eivät rajoitu alamenettelyyn, johon ne on määritelty.
  • Voit määrittää julkisen muuttujan kahdella tavalla: yksi moduulin sisällä käyttämällä tavanomaista Dim-käskyä ja toinen kaikille VBE: ssä läsnä oleville moduuleille joko julkisella tai globaalilla käskyllä.

Suositellut artikkelit

Tämä on opas VBA: n julkiseen muuttujaan. Tässä keskustellaan siitä, kuinka julkaista julkinen muuttuja Excelissä käyttämällä VBA-koodia Excel-muodossa, sekä käytännön esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA: n globaalit muuttujat
  2. Yksi muuttujien datataulukko Excelissä
  3. VBA FileSystemObject (FSO)
  4. Kaksi muuttuvaa datataulua Excelissä

Luokka: