VBA offentlige variabler - Slik erklærer du offentlige variabler i VBA (eksempler)

Innholdsfortegnelse

Offentlige variabler i VBA

"Offentlige variabler" i VBA, som navnet antyder, er variabler som er erklært å bruke offentlig for alle makroene vi skriver i samme modul, så vel som i forskjellige moduler også. Så når variablene blir erklært ved starten av en hvilken som helst makro, kalles de "offentlige variabler" eller "globale variabler."

Hvordan erklære offentlige variabler i VBA?

Vanligvis starter vi VBA-underprosedyren, og inne i underprosedyren erklærer vi våre variabler. Dette er vanlig praksis vi alle har gjort frem til denne artikkelen.

Hver gang vi skriver en ny underprosedyre, erklærer vi nye variabler med datatyper tilordnet dem. Men i dag vil vi si farvel med repeterende variabler på tvers av underprosedyrer.

La oss huske den gamle stilen. Nedenfor er koden jeg har skrevet med en enkelt variabel.

I underprosedyren "Public_Variable" har jeg erklært denne variabelen. Nå kan jeg ikke bruke noen av de andre modulene.

Nå i underprosedyren "Public_Variable1" kan vi ikke bruke variabelen "Var1", som ble erklært i den første underprosedyren "Public_Variable." Dette er begrensningen for å deklarere variabler i delprosedyrene.

# 1 - Modulnivåvariabler

Som vi alle vet, skriver vi makroer i moduler. Vi kan sette inn en rekke moduler. Vi kan erklære to typer "offentlige variabler" i VBA, den ene er å bruke variablene for alle delprosedyrene i samme modul, og den andre er å bruke variablene for alle underprosedyrene på tvers av alle modulene.

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

For å bruke variablene for alle underprosedyrene i samme modul, må vi deklarere variablene øverst i modulen før vi starter noen makroer.

Nedenfor er eksemplet på skjermbildet for din forståelse.

Som vi kan se i bildet ovenfor, har jeg erklært to variabler før jeg starter en hvilken som helst makro i modulen. Nå kan disse to variablene brukes i et hvilket som helst antall makroer i denne modulen.

Inne i underprosedyren, begynner å skrive variabelnavnet du kan se IntelliSense-listen vil vise variabelnavn.

Nå kan vi bruke disse variablene i alle makroene vi skriver i “Module1”.

Disse variablene er begrenset til bruk i denne modulen. For eksempel vil jeg nå sette inn en modul til og skrive en ny makro.

I Module2 kan jeg ikke bruke de variablene vi har erklært i “Module1”.

Så hvordan kan vi gjøre disse variablene offentlige i VBA for å bruke på tvers av alle moduler og på tvers av alle underprosedyrer?

# 2 - Erklær at variabler bruker dem offentlig

Gå tilbake til “Module1” i denne modulen. Vi har erklært variabler før vi begynner å skrive veien til makroen, og også hvilken verden vi har brukt til å erklære disse variablene.

Vår tradisjonelle måte å bruke “DIM” -ordet på, har vi erklært disse variablene.

Når vi bare bruker “DIM” -ordet, er det bare begrenset til å brukes på tvers av alle makroer, men i samme modul.

I stedet for ordet "DIM", må vi bruke ordet enten "OFFENTLIG" eller "GLOBAL" for å gjøre dem tilgjengelige for bruk på tvers av alle makromoduler.

Jeg har brukt ordet “Global” for å offentliggjøre variabeldeklarasjonen. Du kan også bruke ordet "Offentlig" også.

Så ved å bruke ordene "Global" og "Public" kan vi erklære variabler som kan brukes til alle makroene på tvers av modulene.

Ting å huske

  • Det er en god praksis å kunngjøre variabler offentlig, men trenger god erfaring før de erklæres.
  • Når makroene er startet for å kjøre over, vil makroverdien til variabelen være den samme.
  • Tilordne den spesielle verdien til variabelen i den spesifikke makroen bare for å unngå noen form for forvirring.

Interessante artikler...