Excel VBA globale variabler

Vi deklarerer vanligvis alle variabler ved å bruke ordet DIM, og dette er den beste direkte metoden for å gjøre dette. Men variablene som er erklært ved bruk av DIM kan bare brukes i samme modul. Hvis vi prøver å bruke denne variabelen definert ved å bruke DIM, vil den være aktuelt for modulen den blir erklært under. Hva om vi vil bruke en variabel i en hvilken som helst modul eller prosjekt? Hva kan ikke være mulig hvis vi fortsetter å bruke DIM for å definere den variabelen?

I så fall har vi et sekundært alternativ ved å definere variabelen med ord Global eller Public i VBA. VBA Global eller Public variabler er de variablene som er deklarert i begynnelsen av underkategorien ved hjelp av Option Explicit. Uansett hva vi ikke gjør eller ikke kan gjøre under underkategorier, blir de gjort før det under Option Explicit.

Hvordan erklære globale variabler i VBA?

Nedenfor er de forskjellige eksemplene for å erklære en global variabel i Excel ved hjelp av VBA-kode.

Du kan laste ned denne VBA Global Variables Excel Template her - VBA Global Variables Excel Template

VBA Global Variables - Eksempel # 1

I dette eksemplet vil vi se hvordan forskjellige underkategorier kan brukes som en enkelt modul uten å bruke Globalt eller Offentlig ord for å definere noen variabel. For dette trenger vi en modul.

  • Gå til Sett inn- menyen og klikk på Modul som vist nedenfor.

  • Skriv nå underkategorien i hvilket som helst navn som vist nedenfor.

Kode:

 Sub Global_Variable () Slutt Sub 

  • Nå bruker du DIM for å definere alle typer variabler. Her har vi valgt alfabet A som streng .

Kode:

 Sub Global_Variable () Dim A As String End Sub 

  • Opprett nå en annen underkategori i samme modul som vist nedenfor.

Kode:

 Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () End Sub 

  • I den andre underkategorien definerer du nå en annen variabel B ved å bruke DIM som streng.

Kode:

 Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Som vist ovenfor, kan ikke variablene A og B definert i begge underkategoriene brukes i hverandres region. Disse vil kun kunne brukes i sin egen underkategori.

  • Nå for å gjøre dette arbeidet, skriv Option Explicit over den første underkategorien som vist nedenfor.

Kode:

 Alternativ Eksplisitt Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Nå kan vi definere variabelen vår som skal brukes i begge underkategoriene som vi har nedenfor. Så vurder nå å skrive en hvilken som helst variabel si A som streng ved å bruke DIM.

Kode:

 Alternativ eksplisitt Dim A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Som vi har definert variabelen, vil alle underkategoriene være i den modulen, og dette vil bare gjelde for alle modulkodene. Og hvis vi prøver å kalle variablene definert i denne modulen til en annen modul, vil det gi oss feilen.

VBA Global Variables - Eksempel # 2

I dette eksemplet vil vi se hvordan du bruker globalt eller offentlig ord for å definere hvilken som helst variabel i excel VBA. For dette vil vi bruke koden som vi har sett i eksempel-1.

Vi bruker under en del av koden for global eller offentlig variabel-erklæring.

Kode:

 Alternativ Eksplisitt Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Som vi gjorde i eksempel-1 hvor vi har erklært den vanlige variabelen som vil bli brukt i begge underkategoriene, under Okseptisk eksplisitt. I eksemplet vil vi også erklære den globale variabelen under Option Explicit.

Siden vi allerede har koden klar, så kan vi direkte fortsette å erklære variabler ved å bruke Global . Nå i alternativet Eksplisitt nedenfor skriver du det samme som vi pleide å gjøre med DIM og velge en variabel du ønsker. Her velger vi alfabet A som vist nedenfor.

Kode:

 Alternativ Eksplisitt Global A Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Nå velger vi hvilken som helst type variabel for å være det. Som vi allerede har brukt String i eksemplet ovenfor, så vil vi også bruke det samme her.

Kode:

 Alternativ Eksplisitt Global A As String Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Dette fullfører vår globale variabel deklarasjonsprosess. Nå kan vi bruke dette i hvilken som helst modul, ethvert prosjekt som bare streng. Før vi bruker den, sletter du den tidligere deklarerte variabelen, så vil koden se ut som vist nedenfor.

Kode:

 Alternativ Eksplisitt Global A Som Streng Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

La oss nå tilordne litt tekst til definert variabel A i begge underkategoriene. Vi velger “Test1” og “Test2” for variabel A i begge underkategoriene som vist nedenfor. Og vi har også valgt MsgBox for å vise verdiene som er lagret i variabel A.

Kode:

 Alternativ Eksplisitt Global A As String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Kjør nå koden ved å trykke på F5-tasten eller ved å klikke på avspillingsknappen for å se resultatet.

Vi får meldingen som "Test1" som vist ovenfor. Det er fordi vi hadde holdt markøren i den første underkategorien.

Nå plasserer markøren hvor som helst i den andre underkategorien, og kjør koden igjen. Vi vil nå få meldingsboksen med meldingen "Test2" som vist nedenfor.

Slik kan vi opprette og definere en variabel en gang ved hjelp av Global og som kan brukes i enhver modul, hvilken som helst klasse og i ethvert prosjekt. Vi kan også bruke Public i stedet for Global som vist nedenfor. Og dette vil gi samme resultat som vi fikk ved bruk av Global.

Kode:

 Alternativ eksplisitt offentlig A som streng Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Fordeler med VBA Global Variable

  • Det sparer tid i å deklarere flere variabler når vi vet det, vi kan være nødvendig å definere samme type variabel igjen i forskjellige moduler eller underkategorier.
  • Ved å bruke Global eller Public til å definere en variabel prosess, blir koden vår mindre og sparer tid og rom.
  • Det reduserer kompleksiteten når vi skriver den enorme koden og kan bli forvirret mellom bruken av forskjellige variabler i forskjellige moduler eller underkategorier.

Ulemper med VBA Global Variable

  • Hvis vi gjør endringer i den globale variabelen, vil endringene bli implementert i alt der den brukes og forårsake problemet i funksjonaliteten til skriftlig kode.

Ting å huske

  • Global og Public kan brukes om hverandre med samme funksjonalitet.
  • Hvis vi ikke vil bruke global variabel, kan vi følge prosessen som vist i eksempel-1 for å definere variabelen. Men det vil være begrenset til den samme modulen.
  • Globale variabler kan brukes i hvilken som helst modul, hvilken som helst underkategori, hvilken som helst klasse eller i ethvert prosjekt.
  • En global variabel gir utdata fra koden der vi har holdt markøren. Den vil ikke kjøre den komplette koden på en gang, og gi all utdata en etter en.

Anbefalte artikler

Dette er en guide til VBA Global Variables. Her diskuterer vi hvordan deklarerer globale variabler i Excel ved hjelp av VBA-kode sammen med noen praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA UserForm
  2. Løs ligning i Excel
  3. VBA Aktiver ark
  4. Hvordan redigere rullegardinlisten i Excel?

Kategori: