Exceli VBA globaalsed muutujad

Tavaliselt deklareerime mis tahes muutuja sõna DIM abil ja see on parim otsene meetod selle tegemiseks. Kuid DIM-i abil deklareeritud muutujaid saab kasutada ainult sama mooduli sees. Kui proovime kasutada seda muutujat, mis on määratletud DIM-i abil, rakendatakse seda moodulil, mille all see deklareeritakse. Mis siis saab, kui tahame muutujat kasutada mõnes moodulis või projektis? Mis pole võimalik, kui jätkame DIM-i kasutamist selle muutuja määratlemiseks?

Sel juhul on meil teisene võimalus, määratledes muutuja sõnaga VBA üldise või avaliku sõnaga. VBA globaalsed või avalikud muutujad on muutujad, mis deklareeritakse alamkategooria alguses valikuga Täpsustatav. Ükskõik, mida me alamkategooriate all ei tee või ei saa, tehakse seda enne suvalise valiku all.

Kuidas kuulutada globaalseid muutujaid VBA-s?

Allpool on toodud erinevad näited, kuidas deklareerida Excelis VBA-koodi abil globaalne muutuja.

Selle VBA globaalsete muutujate Exceli malli saate alla laadida siit - VBA globaalsete muutujate Exceli mall

VBA globaalsed muutujad - näide nr 1

Selles näites näeme, kuidas saab erinevaid alamkategooriaid kasutada ühe moodulina, ilma et kasutataks muutuja määratlemiseks globaalset või avalikku sõna. Selleks oleks meil vaja moodulit.

  • Minge menüüsse Insert ja klõpsake moodulil, nagu allpool näidatud.

  • Nüüd tippige alamkategooria mis tahes nimega, nagu allpool näidatud.

Kood:

 Alam Global_Variable () Lõpp Alam 

  • Kasutage nüüd DIM-i mis tahes muutuja määratlemiseks. Oleme siin Stringiks valinud tähestiku A.

Kood:

 Sub Global_Variable () Dim A kui stringi lõpp Sub 

  • Nüüd looge samasse moodulisse teine ​​alamkategooria, nagu allpool näidatud.

Kood:

 Alam globaalne_muutuv () hämardada kui stringi lõpp alam alam alam globaalne_vaariable6 () lõpp alam 

  • Määrake teises alamkategoorias veel üks muutuja B, kasutades stringi kujul DIM-i.

Kood:

 Sub Globaalne_muutvalt () hämardada kui stringi otsa alam Sub_ Globaalne_Variable6 () Hämarda B kui stringi otsa alam 

Nagu ülal näidatud, ei saa mõlemas alamkategoorias määratletud muutujaid A ja B üksteise piirkonnas kasutada. Neid rakendatakse ainult nende enda alamkategoorias.

  • Selle töö tegemiseks kirjutage esimese alamkategooria kohale Option Explicit, nagu allpool näidatud.

Kood:

 Valik Selgesõnaline Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Nüüd saame määratleda oma muutuja, mida kasutatakse mõlemas alamkategoorias, millest meil allpool on. Nii et nüüd kaaluge kõigi muutujate A-sõnade kirjutamist stringina DIM-i abil.

Kood:

 Valik Selgesõnaline Dim A kui String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub Sub 

Nagu oleme muutuja määratlenud, kuuluvad kõik alamkategooriad sellesse moodulisse ja see kehtib ainult selle mooduli kõigi koodide kohta. Ja kui proovime selles moodulis määratletud muutujaid nimetada mõneks muuks mooduliks, annaks see meile tõrke.

VBA globaalsed muutujad - näide nr 2

Selles näites näeme, kuidas kasutada globaalset või avalikku sõna kõigi VBA muutujate määratlemiseks. Selleks kasutame koodi, mida oleme näites-1 näinud.

Koodiosa allpool kasutame globaalse või avaliku muutuja deklaratsiooni.

Kood:

 Valik Selgesõnaline Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Nagu me tegime näites-1, kus oleme selgesõnalise valiku all deklareerinud ühise muutuja, mida kasutatakse mõlemas alamkategoorias. Selles näites kuulutame globaalse muutuja ka suvandi all.

Kuna meil on kood juba valmis, saame muutujate deklareerimist otse globaalse abil kasutada. Kirjutage allolevasse suvandisse Täpsustav Globaalne sama, mida me kasutasime DIM-iga, ja valige valitud muutuja. Siin valime tähestiku A, nagu allpool näidatud.

Kood:

 Valik Selgesõnaline Globaalne A Sub Globaalne_muutuv () Dim A kui stringi lõpp Sub Sub Globaalne_Variable6 () Dim B kui stringi lõpp Sub 

Nüüd valime ükskõik millise muutuja tüübi. Nagu oleme juba ülaltoodud näites Stringit kasutanud, kasutaksime seda ka siin.

Kood:

 Valik Selgesõnaline Globaalne A kui stringi alamvahekord Global_Variable () Tühjenda A kui stringi lõpp Sub Sub Globaalne_Variable6 () Dim B kui stringi lõpp sub 

See viib lõpule meie globaalse muutuja deklareerimise protsessi. Nüüd saame seda kasutada ükskõik millises moodulis, igas projektis ainult stringina. Enne selle kasutamist kustutage varem deklareeritud muutuja, siis näeks kood välja nagu allpool näidatud.

Kood:

 Valik Selgesõnaline globaalne A kui stringi alamvahekord Global_Variable () End Sub Sub Global_Variable6 () End Sub Sub 

Nüüd määrame mõlemas alamkategoorias määratletud muutujale A mõne teksti. Valime mõlemas alamkategoorias muutuja A jaoks „Test1” ja „Test2”, nagu allpool näidatud. Ja samuti oleme valinud MsgBox muutuja A-s salvestatud väärtuste kuvamiseks.

Kood:

 Valik Selgesõnaline globaalne A kui string String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Nüüd käivitage kood, vajutades F5-klahvi või klõpsates nuppu nuppu tulemuse nägemiseks.

Me saame sõnumi „Test1”, nagu ülal näidatud. Põhjus on see, et olime kursorit hoidnud esimeses alamkategoorias.

Pange nüüd kursor teise alamkategooria suvalisse kohta ja käivitage kood uuesti. Nüüd kuvatakse allpool näidatud sõnumikast sõnumiga "Test2".

Nii saame globaalse abil luua ja defineerida muutuja üks kord ja seda saab kasutada igas moodulis, klassis ja igas projektis. Nagu allpool näidatud, saame globaalse asemel kasutada ka avalikku . Ja see annab sama tulemuse, mille saime Globali kasutamisel.

Kood:

 Valik Selgesõnaline avalik A kui stringi alamrühm Global_Variable () A = "Test1" MsgBox Lõplik alam alamrühm Globaalne_Variable6 () A = "Test2" MsgBox Lõpp-alam 

VBA globaalse muutuja plussid

  • See säästab aega mitme muutuja deklareerimisel, kui me teame, et võib-olla peame erinevates moodulites või alamkategooriates määratlema uuesti sama tüüpi muutujad.
  • Kui kasutate muutuva protsessi määratlemisel globaalset või avalikku, muutub meie kood väiksemaks aja ja ruumi säästmiseks.
  • See vähendab tohutu koodi kirjutamise keerukust ja võib segi minna erinevate muutujate kasutamisel erinevates moodulites või alamkategooriates.

VBA globaalse muutuja miinused

  • Kui teeme globaalsesse muutujasse muudatusi, rakendatakse need muudatused kõikjal, kus seda kasutatakse, põhjustades probleeme kirjaliku koodi funktsionaalsuses.

Asjad, mida meeles pidada

  • Globaalset ja avalikku saab sama funktsionaalsusega kasutada vaheldumisi.
  • Kui me ei soovi globaalset muutujat kasutada, võime muutuja määratlemiseks järgida näites-1 näidatud protsessi. Kuid see piirduks sama mooduliga.
  • Globaalseid muutujaid saab kasutada igas moodulis, suvalises alamkategoorias, klassis või projektis.
  • Globaalne muutuja annab selle koodi väljundi, kus oleme kursorit hoidnud. See ei käivita kogu koodi korraga, andes kogu väljundi ükshaaval.

Soovitatavad artiklid

See on VBA globaalsete muutujate juhend. Siin arutleme, kuidas deklareerida globaalseid muutujaid Excelis, kasutades VBA-koodi, koos mõnede praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA UserForm
  2. Lahendage võrrand Excelis
  3. VBA aktiveeri leht
  4. Kuidas redigeerida ripploendit Excelis?

Kategooria: