Julkiset VBA-muuttujat | Julkisten muuttujien ilmoittaminen VBA: ssa (esimerkkejä)

Julkiset muuttujat VBA: ssa

”Julkiset muuttujat” VBA: ssa, kuten nimestä voi päätellä, ovat muuttujia, joiden on ilmoitettu käytettävän julkisesti kaikille makroille, jotka kirjoitamme samaan moduuliin sekä eri moduuleihin. Joten kun muuttujat ilmoitetaan minkä tahansa makron alussa, niitä kutsutaan "julkisiksi muuttujiksi" tai "globaaleiksi muuttujiksi".

Kuinka julistaa julkiset muuttujat VBA: ssa?

Yleensä aloitamme VBA-alimenettelyn ja alimenettelyn sisällä ilmoitamme muuttujamme. Tämä on yleinen käytäntö, jota olemme kaikki tehneet tähän artikkeliin asti.

Voit ladata tämän VBA: n julkisten muuttujien Excel-mallin täältä - VBA Public Variables Excel Template

Aina kun kirjoitamme uuden alimenettelyn, ilmoitamme uudet muuttujat, joille on määritetty tietotyypit. Mutta tänään jätämme hyvästit toistuvista muuttujista alimenettelyissä.

Muistetaan vanha tyyli, alla on koodi, jonka olen kirjoittanut yhdellä muuttujalla.

Olen ilmoittanut tämän muuttujan alimenettelyssä ”Public_Variable”. Nyt en voi käyttää mitään muita moduuleja.

Alijärjestelmässä ”Public_Variable1” ei nyt voida käyttää muuttujaa “Var1”, joka ilmoitettiin ensimmäisessä alimenettelyssä ”Public_Variable”. Tämä rajoittaa muuttujien ilmoittamista alimenettelyissä.

# 1 - Moduulitason muuttujat

Koska me kaikki tiedämme kirjoittavan makroja moduuleihin, voimme lisätä useita moduuleja. VBA: ssa voidaan julistaa kahdenlaisia ​​julkisia muuttujia, toinen on käyttää muuttujia saman moduulin kaikkiin alimenettelyihin ja toinen on käyttää muuttujia kaikkien moduulien kaikkiin alimenettelyihin.

Ensinnäkin näemme julkisten muuttujien julistamisen VBA: ssa moduulitasolla.

Jotta muuttujia voidaan käyttää kaikissa moduulin alimenettelyissä, meidän on ilmoitettava muuttujat moduulin yläosassa ennen kuin aloitamme makrot.

Alla on esimerkki kuvakaappauksesta ymmärrystäsi varten.

Kuten voimme nähdä yllä olevasta kuvasta, olen ilmoittanut kaksi muuttujaa ennen kuin aloitan makron moduulissa. Nyt näitä kahta muuttujaa voidaan käyttää missä tahansa määrässä tämän moduulin makroja.

Alimenettelyn sisällä alkaa kirjoittaa muuttujan nimeä, joten IntelliSense-luettelo näyttää muuttujien nimet.

Nyt voimme käyttää näitä muuttujia kaikissa makroissa, jotka kirjoitamme moduuliin1.

Näitä muuttujia voidaan käyttää vain tässä moduulissa. Esimerkiksi nyt laitan vielä yhden moduulin ja kirjoitan uuden makron.

Moduulissa 2 en voi käyttää niitä muuttujia, jotka olemme ilmoittaneet moduulissa 1.

Joten miten voimme saada nämä muuttujat julkiseksi VBA: ssa käytettäväksi kaikissa moduuleissa ja kaikissa alimenettelyissä?

# 2 - Ilmoita muuttujien käyttävän niitä julkisesti

Palaa moduuliin 1 tässä moduulissa, jonka muuttujat ovat ilmoittaneet ennen kuin aloitamme makron tien kirjoittamisen ja myös sen, mitä maailmaa olemme käyttäneet näiden muuttujien ilmoittamiseen.

Perinteinen tapamme käyttää DIM-sanaa olemme ilmoittaneet nämä muuttujat.

Kun käytämme vain DIM-sanaa, se on rajoitettu käytettäväksi kaikissa makroissa, mutta samassa moduulissa.

Sanan "DIM" sijaan meidän on käytettävä sanaa joko "JULKINEN" tai "GLOBAL", jotta ne ovat käytettävissä kaikkien makrojen moduuleissa.

Olen käyttänyt sanaa "Global" muuttujailmoituksen julkistamiseksi. Voit myös käyttää sanaa ”Julkinen”.

Joten sanoja "yleinen" ja "julkinen" käyttämällä voimme ilmoittaa muuttujia, joita voidaan käyttää kaikissa moduulien makroissa.

Muistettavaa

  • On hyvä käytäntö ilmoittaa muuttujat julkisesti, mutta tarvitsee runsaasti kokemusta ennen niiden ilmoittamista.
  • Kun makrot ovat alkaneet juosta, muuttujan makron arvo on sama.
  • Määritä tietty arvo muuttujalle tietyn makron sisällä vain sekaannusten välttämiseksi.

$config[zx-auto] not found$config[zx-overlay] not found