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

Sisällysluettelo

Julkiset muuttujat VBA: ssa

"Julkiset muuttujat" VBA: ssa, kuten nimestä voi päätellä, ovat muuttujia, jotka on ilmoitettu käytettävän julkisesti kaikille makroille, jotka kirjoitamme samassa moduulissa sekä eri moduuleissa. 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.

Joka kerta 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ä ”Julkinen_muuttuja1” emme voi nyt käyttää muuttujaa ”Var1”, joka ilmoitettiin ensimmäisessä alijärjestelmässä ”Julkinen_muuttuja”. Tämä rajoittaa muuttujien ilmoittamista alimenettelyissä.

# 1 - Moduulitason muuttujat

Kuten me kaikki tiedämme, kirjoitamme makrot 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 saman 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.

Aloita alimenettelyn sisällä kirjoittamalla muuttujan nimi, jolloin 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 tämän moduulin kohtaan Moduuli1. Olemme ilmoittaneet muuttujat ennen kuin aloitamme makrotavan kirjoittamisen ja myös sen, mitä maailmaa olemme käyttäneet ilmoittaaksemme muuttujat.

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

Kun käytämme vain DIM-sanaa, sitä voidaan käyttää vain kaikissa makroissa, mutta samassa moduulissa.

Sanan "DIM" sijaan meidän on käytettävä sanaa "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 kulkea poikki, muuttujan makron arvo on sama.
  • Määritä tietty arvo muuttujalle tietyn makron sisällä vain sekaannusten välttämiseksi.

Mielenkiintoisia artikkeleita...