VBA publiskie mainīgie | Kā deklarēt publiskos mainīgos VBA (piemēri)

Publiskie mainīgie VBA

“Publiskie mainīgie” VBA, kā norāda nosaukums, ir mainīgie, kurus ir deklarēts publiski izmantot visiem makro, kurus mēs rakstām tajā pašā modulī, kā arī dažādos moduļos. Tātad, kad mainīgie tiek deklarēti jebkura makro sākumā, tos sauc par “Publiskie mainīgie” vai “Globālie mainīgie”.

Kā deklarēt publiskos mainīgos VBA?

Parasti mēs sākam VBA apakšprocedūru un apakšprocedūras iekšpusē deklarējam savus mainīgos. Tā ir parasta prakse, ko mēs visi esam darījuši līdz šim rakstam.

Šo VBA publisko mainīgo Excel veidni varat lejupielādēt šeit - VBA publisko mainīgo Excel veidne

Katru reizi, kad mēs rakstām jaunu apakšprocedūru, mēs deklarējam jaunus mainīgos ar tiem piešķirtajiem datu tipiem. Bet šodien mēs atvadīsimies no atkārtotiem mainīgajiem apakšprocedūrās.

Atcerēsimies veco stilu, zemāk ir kods, kuru esmu uzrakstījis ar vienu mainīgo.

Apakšprocedūrā “Public_Variable” esmu deklarējis šo mainīgo. Tagad es nevaru izmantot nevienu citu moduli.

Tagad apakšprocedūrā “Public_Variable1” mēs nevaram izmantot mainīgo “Var1”, kas tika deklarēts pirmajā apakšprocedūrā “Public_Variable”. Tas ir ierobežojums deklarēt mainīgos apakšprocedūrās.

# 1 - moduļa līmeņa mainīgie

Tā kā mēs visi zinām, ka makro rakstām moduļos, mēs varam ievietot vairākus moduļus. Mēs varam deklarēt divu veidu “Publiskos mainīgos” VBA, viens ir izmantot mainīgos lielumus visām tā paša moduļa apakšprocedūrām, bet otrs ir izmantot mainīgos lielumus visām apakšmoduļām visos moduļos.

Pirmkārt, mēs redzēsim publisko mainīgo deklarēšanu VBA moduļu līmenī.

Lai mainīgos izmantotu visām tā paša moduļa apakšprocedūrām, pirms makro palaišanas mums ir jādeklarē mainīgie moduļa augšdaļā.

Zemāk ir redzams ekrānuzņēmuma piemērs.

Kā redzam iepriekš redzamajā attēlā, pirms jebkura makro palaišanas modulī esmu deklarējis divus mainīgos. Tagad šos divus mainīgos var izmantot jebkurā šī moduļa makro skaitā.

Apakšprocedūras iekšpusē sāk rakstīt mainīgā nosaukumu, un jūs redzat, ka IntelliSense sarakstā tiks parādīti mainīgo nosaukumi.

Tagad mēs varam izmantot šos mainīgos visos makros, kurus mēs rakstām “Module1”.

Šos mainīgos var izmantot tikai šajā modulī. Piemēram, tagad es ievietošu vēl vienu moduli un uzrakstīšu jaunu makro.

2. modulī es nevaru izmantot tos mainīgos, kurus esam deklarējuši “1. modulī”.

Tātad, kā mēs varam šos mainīgos padarīt publiski pieejamus VBA, lai tos izmantotu visos moduļos un visās apakšprocedūrās?

# 2 - paziņo, ka mainīgie tos izmanto publiski

Atgriezieties pie “Modulis1” šajā modulī, kurā mēs esam deklarējuši mainīgos, pirms sākam rakstīt makro veidu un arī to, kādu pasauli mēs esam izmantojuši, lai deklarētu šos mainīgos.

Mūsu tradicionālais veids, kā lietot vārdu “DIM”, ir deklarējis šos mainīgos.

Ja mēs izmantojam tikai vārdu “DIM”, to var izmantot tikai visos makro, bet tajā pašā modulī.

Vārda “DIM” vietā mums jāizmanto vārds “PUBLIC” vai “GLOBAL”, lai padarītu tos pieejamus lietošanai visos makro moduļos.

Esmu lietojis vārdu “Globāls”, lai mainīgā deklarācija būtu publiska. Varat arī izmantot vārdu “Publisks”.

Tātad, izmantojot vārdus “Globāls” un “Publisks”, mēs varam deklarēt mainīgos, kurus var izmantot visiem moduļu makro.

Atceramās lietas

  • Tā ir laba prakse, lai mainīgos mainītu publiski, taču pirms to deklarēšanas ir nepieciešama plaša pieredze.
  • Kad makro sāks darboties, mainīgā lieluma makro vērtība būs vienāda.
  • Piešķiriet konkrēto vērtību mainīgajam konkrētā makro tikai, lai izvairītos no jebkāda veida neskaidrībām.

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