VBA viešieji kintamieji Kaip paskelbti viešus kintamuosius VBA (pavyzdžiai)

Viešieji kintamieji VBA

„Viešieji kintamieji“ VBA, kaip rodo pavadinimas, yra kintamieji, kurie paskelbti viešai naudojami visoms makrokomandoms, kurias rašome tame pačiame modulyje, taip pat skirtinguose moduliuose. Taigi, kai kintamieji deklaruojami bet kurios makrokomandos pradžioje, jie vadinami „Viešieji kintamieji“ arba „Visuotiniai kintamieji“.

Kaip paskelbti viešus kintamuosius VBA?

Paprastai mes pradedame VBA subprocedūrą ir jos viduje deklaruojame savo kintamuosius. Tai yra įprasta praktika, kurią mes visi darėme iki šio straipsnio.

Šį VBA viešųjų kintamųjų „Excel“ šabloną galite atsisiųsti čia - VBA viešųjų kintamųjų „Excel“ šabloną

Kiekvieną kartą, kai rašome naują subprocedūrą, deklaruojame naujus kintamuosius su jiems priskirtais duomenų tipais. Bet šiandien mes atsisveikinsime su pasikartojančiais kintamaisiais visose subprocedūrose.

Prisiminkime senąjį stilių, žemiau yra kodas, kurį parašiau su vienu kintamuoju.

Pagal procedūrą „Public_Variable“ paskelbiau šį kintamąjį. Dabar negaliu naudoti jokio kito modulio.

Dabar subprocedūroje „Public_Variable1“ mes negalime naudoti kintamojo „Var1“, kuris buvo paskelbtas pirmojoje „Public_Variable“ antrinėje procedūroje. Tai yra kintamųjų deklaravimo riba perprocedūrose.

# 1 - modulio lygio kintamieji

Kadangi visi žinome, kad makrokomandas rašome moduliuose, galime įterpti daugybę modulių. Mes galime deklaruoti dviejų rūšių „Viešuosius kintamuosius“ VBA, vienas yra naudoti kintamuosius visoms to paties modulio subprocedūroms, o antrasis - naudoti kintamuosius visoms visų modulių subprocedūroms.

Pirma, pamatysime viešųjų kintamųjų deklaravimą VBA modulio lygiu.

Norėdami naudoti kintamuosius visoms to paties modulio antrinėms procedūroms, prieš pradėdami makrokomandas reikia deklaruoti kintamuosius modulio viršuje.

Žemiau pateikiamas jūsų supratimo ekrano kopijos pavyzdys.

Kaip matome aukščiau esančiame paveikslėlyje, prieš pradėdamas bet kokią makrokomandą modulyje, aš deklaravau du kintamuosius. Dabar šiuos du kintamuosius galima naudoti bet kuriame šio modulio makrokomandoje.

Subprocedūroje pradedama rinkti kintamojo pavadinimą, matote, kad „IntelliSense“ sąraše bus rodomi kintamųjų pavadinimai.

Dabar šiuos kintamuosius galime naudoti visose makrokomandose, kurias rašome „Module1“.

Šiuos kintamuosius galima naudoti tik šiame modulyje. Pavyzdžiui, dabar įdėsiu dar vieną modulį ir parašysiu naują makrokomandą.

2 modulyje negaliu naudoti tų kintamųjų, kuriuos deklaravome „1 modulyje“.

Taigi, kaip mes galime paversti šiuos kintamuosius VBA naudoti visuose moduliuose ir visose papildomose procedūrose?

2 - paskelbti, kad kintamieji juos naudoja viešai

Grįžkite į šio modulio „Modulis1“, kurį deklaravome kintamuosius, prieš pradėdami rašyti makrokomandos būdą ir pasaulį, kurį panaudojome deklaruodami tuos kintamuosius.

Šiuos kintamuosius deklaravome tradiciniu būdu vartodami žodį „DIM“.

Kai mes naudojame tik žodį „DIM“, jis gali būti naudojamas tik visose makrokomandose, bet tame pačiame modulyje.

Vietoj žodžio „DIM“ turime naudoti žodį „PUBLIC“ arba „GLOBAL“, kad juos būtų galima naudoti visuose makrokomandų moduliuose.

Aš paviešinau kintamųjų deklaraciją žodžiu „Global“. Taip pat galite naudoti žodį „Vieša“.

Taigi, vartodami žodžius „Visuotinis“ ir „Viešas“, galime deklaruoti kintamuosius, kuriuos galima naudoti visose makrokomandose.

Ką reikia atsiminti

  • Kintamuosius viešai deklaruoti yra gera praktika, tačiau prieš juos deklaruojant reikia daug patirties.
  • Kai makrokomandos pradės veikti per makrokomandos kintamojo reikšmė bus tokia pati.
  • Priskirkite tam tikrą vertę kintamajam konkrečios makrokomandos viduje, kad išvengtumėte painiavos.