Excel VBA globale variabler

Vi erklærer normalt enhver variabel ved at bruge ordet DIM, og dette er den bedste direkte metode til at gøre dette. Men de variabler, der er erklæret ved hjælp af DIM, kan kun bruges i det samme modul. Hvis vi forsøger at bruge denne variabel, der er defineret ved hjælp af DIM, vil den være gældende for det modul, som den er deklareret under. Hvad hvis vi vil bruge en variabel i et modul eller et projekt? Hvilket kan ikke være muligt, hvis vi fortsætter med at bruge DIM til at definere den variabel?

I dette tilfælde har vi en sekundær mulighed ved at definere variablen med ord Global eller Public i VBA. VBA Global eller Public variabler er de variabler, der er erklæret i begyndelsen af ​​underkategorien ved hjælp af Option Explicit. Uanset hvad vi ikke eller ikke kan gøre under underkategorier, gøres de før det under Option Explicit.

Hvordan erklæres globale variabler i VBA?

Nedenfor er de forskellige eksempler på at erklære en global variabel i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA Global Variables Excel Template her - VBA Global Variables Excel Template

VBA globale variabler - eksempel # 1

I dette eksempel vil vi se, hvordan forskellige underkategorier kan bruges som et enkelt modul uden at bruge Globalt eller Offentlig ord til at definere en variabel. Til dette har vi brug for et modul.

  • Gå til menuen Indsæt, og klik på Modul som vist nedenfor.

  • Skriv nu underkategorien i ethvert navn som vist nedenfor.

Kode:

 Sub Global_Variable () End Sub 

  • Brug nu DIM til at definere enhver form for variabel. Her har vi valgt alfabet A som streng .

Kode:

 Sub Global_Variable () Dim A As String End Sub 

  • Opret nu en anden underkategori i det samme modul som vist nedenfor.

Kode:

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

  • I den anden underkategori defineres nu en anden variabel B ved hjælp af 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 både variablerne A og B, der er defineret i begge underkategorier, ikke bruges i hinandens region. Disse vil kun være gældende i deres egen underkategori.

  • For at gøre dette arbejde skal du skrive Option Explicit over den første underkategori som vist nedenfor.

Kode:

 Option Eksplicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Nu kan vi definere vores variabel, som vil blive brugt i begge underkategorier, som vi har nedenfor. Så overveje nu at skrive en hvilken som helst variabel siger A som streng ved hjælp af DIM.

Kode:

 Option Eksplicit Dim A Som Streng Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Som vi har defineret variablen, vil alle underkategorier være i dette modul, og dette vil kun gælde for al modulets kode. Og hvis vi prøver at kalde de variabler, der er defineret i dette modul til et andet modul, ville det give os fejlen.

VBA globale variabler - eksempel # 2

I dette eksempel vil vi se, hvordan man bruger Global eller Public word til at definere enhver variabel i Excel VBA. Til dette vil vi bruge koden, som vi har set i eksempel-1.

Vi bruger nedenfor en del af koden til global eller offentlig variabel-erklæring.

Kode:

 Option Eksplicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Som vi gjorde i eksempel 1, hvor vi har erklæret den fælles variabel, der ville blive brugt i begge underkategorier, under eksplicit Option. I eksemplet vil vi også erklære den globale variabel under eksplicit option.

Da vi allerede har vores kode klar, så vi direkte kan fortsætte med at erklære variabler ved hjælp af Global . I nedenstående Option Eksplicit skriv Global det samme, vi plejede med med DIM, og vælg en valgfri variabel. Her vælger vi alfabet A som vist nedenfor.

Kode:

 Option Eksplicit Global A Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Nu vælger vi enhver variabel som det. Som vi allerede har brugt streng i ovenstående eksempel, så ville vi også bruge det samme her.

Kode:

 Option Eksplicit Global A As String Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Dette afslutter vores globale variabeldeklarationsproces. Nu kan vi bruge dette i ethvert modul, ethvert projekt kun som streng. Før vi bruger den, skal du slette den tidligere erklærede variabel, så koden ser ud som vist nedenfor.

Kode:

 Option Eksplicit Global A Som Streng Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Lad os nu tildele noget tekst til den definerede variabel A i begge underkategorier. Vi vælger “Test1” og “Test2” for variabel A i begge underkategorier som vist nedenfor. Og vi har også valgt MsgBox for at vise de værdier, der er gemt i variabel A.

Kode:

 Option Eksplicit Global A Som String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Kør nu koden ved at trykke på F5-tasten eller ved at klikke på play-knappen for at se resultatet.

Vi får beskeden som "Test1" som vist ovenfor. Det skyldes, at vi havde holdt vores markør i den første underkategori.

Sæt nu markøren hvor som helst i den anden underkategori, og kør koden igen. Vi får nu meddelelsesboksen med meddelelsen "Test2" som vist nedenfor.

Sådan kan vi oprette og definere en variabel én gang ved hjælp af Global, og som kan bruges i ethvert modul, enhver klasse og i ethvert projekt. Vi kan også bruge Public i stedet for Global som vist nedenfor. Og dette vil give det samme resultat, som vi fik ved at bruge Global.

Kode:

 Option eksplicit offentlig A som streng Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Fordele ved VBA Global Variable

  • Det sparer tid i at erklære de flere variabler, når vi ved, vi kan muligvis nødt til at definere den samme type variabel igen i forskellige moduler eller underkategorier.
  • Ved at bruge Global eller Public til at definere en variabel proces bliver vores kode mindre og sparer tid og rum.
  • Det reducerer kompleksiteten, når vi skriver den enorme kode og kan blive forvirret over brugen af ​​forskellige variabler i forskellige moduler eller underkategorier.

Ulemper ved VBA Global Variable

  • Hvis vi foretager ændringer i den globale variabel, implementeres ændringerne i det hele, hvor det bruges, hvilket forårsager problemet i funktionen af ​​den skriftlige kode.

Ting at huske

  • Globalt og offentligt kan bruges om hverandre med den samme funktionalitet.
  • Hvis vi ikke ønsker at bruge Global variabel, kan vi følge processen som vist i eksempel-1 til at definere variablen. Men det ville være begrænset til det samme modul.
  • Globale variabler kan bruges i ethvert modul, enhver underkategori, enhver klasse eller i ethvert projekt.
  • En global variabel giver output af koden, hvor vi har holdt markøren. Det kører ikke den komplette kode på én gang, hvilket giver alt output en efter en.

Anbefalede artikler

Dette er en guide til VBA Global Variables. Her diskuterer vi, hvordan deklarerer globale variabler i Excel ved hjælp af VBA-kode sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA UserForm
  2. Løs ligning i Excel
  3. VBA-aktiveringsark
  4. Sådan redigeres rulleliste i Excel?

Kategori: