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ą, o subprocedūros viduje deklaruojame savo kintamuosius. Tai yra įprasta praktika, kurią mes visi darėme iki šio straipsnio.
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 pagal subprocedūrą „Public_Variable1“ mes negalime naudoti kintamojo „Var1“, kuris buvo paskelbtas pirmojoje procedūroje „Public_Variable“. Tai yra kintamųjų deklaravimo riba perprocedūrose.
# 1 - modulio lygio kintamieji
Kaip visi žinome, makrokomandas rašome moduliais. Galime įterpti daugybę modulių. Mes galime paskelbti 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 turime 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 makrokomandų skaičiuje.
Vykdant antrinę procedūrą, reikia įvesti kintamojo pavadinimą, matydami, 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 „1 modulį“. Deklaravome kintamuosius prieš pradėdami rašyti makrokomandos būdą ir tai, kokį pasaulį panaudojome deklaruodami tuos kintamuosius.

Šiuos kintamuosius deklaravome tradiciniu būdu vartodami žodį „DIM“.
Kai mes naudojame tik žodį „DIM“, jis naudojamas tik visose makrokomandose, bet tame pačiame modulyje.
Vietoj žodžio „DIM“ turime naudoti žodį „VISUOMENĖ“ 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, naudodami ž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.
- Pradėjus važiuoti makrokomandomis, kintamojo makrokomanda bus tokia pati.
- Priskirkite tam tikrą vertę kintamajam konkrečios makrokomandos viduje, kad išvengtumėte painiavos.