Offentlige VBA-variabler - Sådan erklæres offentlige variabler i VBA (eksempler)

Indholdsfortegnelse

Offentlige variabler i VBA

“Offentlige variabler” i VBA er, som navnet antyder, variabler, der erklæres at bruge offentligt til alle de makroer, vi skriver i det samme modul såvel som i forskellige moduler. Så når variablerne erklæres i starten af ​​en hvilken som helst makro, kaldes de "Offentlige variabler" eller "Globale variabler."

Hvordan erklæres offentlige variabler i VBA?

Normalt starter vi VBA-underproceduren, og inde i underproceduren erklærer vi vores variabler. Dette er den almindelige praksis, som vi alle har gjort indtil denne artikel.

Hver gang vi skriver en ny underprocedure, erklærer vi nye variabler med datatyper tildelt dem. Men i dag vil vi sige farvel med gentagne variabler på tværs af underprocedurer.

Lad os huske den gamle stil. Nedenfor er den kode, jeg har skrevet med en enkelt variabel.

I underproceduren "Public_Variable" har jeg erklæret denne variabel. Nu kan jeg ikke bruge nogen af ​​de andre moduler.

Nu i underproceduren "Public_Variable1" kan vi ikke bruge variablen "Var1", som blev erklæret i den første underprocedure "Public_Variable." Dette er begrænsningen ved at deklarere variabler inde i underprocedurerne.

# 1 - Variabler på modulniveau

Som vi alle ved, skriver vi makroer i moduler. Vi kan indsætte et antal moduler. Vi kan erklære to slags "offentlige variabler" i VBA, den ene er at bruge variablerne til alle underprocedurer i det samme modul, og den anden er at bruge variablerne til alle underprocedurer på tværs af alle moduler.

Først vil vi se deklarere offentlige variabler i VBA på modulniveau.

For at bruge variablerne til alle underprocedurer i det samme modul, er vi nødt til at deklarere variablerne øverst i modulet, inden vi starter nogen makroer.

Nedenfor er eksemplet screenshot til din forståelse.

Som vi kan se i ovenstående billede, har jeg deklareret to variabler, før jeg starter en makro i modulet. Nu kan disse to variabler bruges i et hvilket som helst antal makroer i dette modul.

Inde i underproceduren begynder du at skrive det variabelnavn, du kan se, IntelliSense-listen viser variablernavne.

Nu kan vi bruge disse variabler i alle de makroer, vi skriver i “Module1”.

Disse variabler er kun begrænset til brug i dette modul. For eksempel vil jeg nu indsætte endnu et modul og skrive en ny makro.

I Module2 kan jeg ikke bruge de variabler, vi har erklæret i “Module1”.

Så hvordan kan vi offentliggøre disse variabler i VBA til brug på tværs af alle moduler og på tværs af alle underprocedurer?

# 2 - Erklær, at variabler bruger dem offentligt

Gå tilbage til “Module1” i dette modul. Vi har erklæret variabler, inden vi begynder at skrive vejen for makroen, og også hvilken verden vi har brugt til at erklære disse variabler.

Vores traditionelle måde at bruge “DIM” ordet på, har vi erklæret for disse variabler.

Når vi kun bruger “DIM” -ordet, er det kun begrænset til at blive brugt på tværs af alle makroer, men i det samme modul.

I stedet for ordet "DIM" skal vi bruge ordet enten "OFFENTLIG" eller "GLOBAL" for at gøre dem tilgængelige til brug på tværs af alle makromoduler.

Jeg har brugt ordet “Global” til at offentliggøre variabeldeklarationen. Du kan også bruge ordet "Offentlig".

Så ved at bruge ordene "Global" og "Public" kan vi erklære variabler, der kan bruges til alle makroer på tværs af moduler.

Ting at huske

  • Det er en god praksis at erklære variabler offentligt, men har brug for rigelig erfaring, før de erklæres.
  • Når makroerne er startet med at køre på tværs, vil makroens værdi af variablen være den samme.
  • Tildel den bestemte værdi til variablen inde i den specifikke makro kun for at undgå enhver form for forvirring.

Interessante artikler...