Excel VBA globala variabler

Vi förklarar vanligtvis alla variabler med ordet DIM och detta är den bästa direkta metoden för att göra detta. Men de variabler som deklarerats med DIM kan bara användas inom samma modul. Om vi ​​försöker använda denna variabel definierad med DIM kommer den att tillämpas för den modul under vilken den deklareras. Vad händer om vi vill använda en variabel i någon modul eller projekt? Vilket kan inte vara möjligt om vi fortsätter att använda DIM för att definiera den variabeln?

I så fall har vi ett sekundärt alternativ genom att definiera variabeln med ord Global eller Public i VBA. VBA Global eller Public variabler är de variabler som deklareras i början av underkategorin med hjälp av Option Explicit. Oavsett vad vi inte gör eller inte kan göra under underkategorier, görs de innan detta under Option Explicit.

Hur förklarar man globala variabler i VBA?

Nedan följer de olika exemplen för att deklarera en global variabel i Excel med hjälp av VBA-kod.

Du kan ladda ner denna VBA Global Variables Excel Mall här - VBA Global Variables Excel Mall

VBA Global Variables - Exempel # 1

I det här exemplet kommer vi att se hur olika underkategorier kan användas som en enda modul utan att använda Global eller Public word för att definiera någon variabel. För detta skulle vi behöva en modul.

  • Gå till Infoga- menyn och klicka på Modulen som visas nedan.

  • Skriv nu underkategorin i valfritt namn som visas nedan.

Koda:

 Sub Global_Variable () End Sub 

  • Använd nu DIM för att definiera alla typer av variabler. Här har vi valt alfabetet A som sträng .

Koda:

 Sub Global_Variable () Dim A As String End Sub 

  • Skapa nu en annan underkategori i samma modul som visas nedan.

Koda:

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

  • Definiera nu en annan variabel B i den andra underkategorin med DIM som sträng.

Koda:

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

Som visas ovan kan inte variablerna A och B som definieras i båda underkategorierna användas i varandras region. Dessa kommer endast att tillämpas i sin egen underkategori.

  • För att göra det här arbetet, skriv Option Explicit ovanför den första underkategorin som visas nedan.

Koda:

 Alternativ Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Nu kan vi definiera vår variabel som kommer att användas i båda underkategorierna som vi har nedan. Så överväg att skriva en variabel säga A som sträng med DIM.

Koda:

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

Som vi har definierat variabeln kommer alla underkategorier att finnas i den modulen och detta skulle bara vara tillämpligt på all kod för den modulen. Och om vi försöker kalla variablerna som definieras i den här modulen till någon annan modul, skulle det ge oss felet.

VBA Global Variables - Exempel # 2

I det här exemplet kommer vi att se hur man använder Global eller Public word för att definiera alla variabler i Excel VBA. För detta kommer vi att använda koden som vi har sett i exempel-1.

Vi kommer att använda nedanstående del av koden för global eller offentlig variabel deklaration.

Koda:

 Alternativ Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Som vi gjorde i exempel 1 där vi har deklarerat den gemensamma variabeln som skulle användas i båda underkategorierna, under alternativet Explicit. I exemplet kommer vi också att förklara den globala variabeln under alternativet Explicit.

Eftersom vi redan har vår kod redo så kan vi direkt fortsätta att förklara variabler med Global . I nedanstående alternativ Explicit skriva Global detsamma som vi brukade med DIM och välj en valfri variabel. Här väljer vi alfabetet A som visas nedan.

Koda:

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

Nu väljer vi vilken typ av variabel som helst. Som vi redan har använt String i exemplet ovan, så skulle vi också använda samma här.

Koda:

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

Detta avslutar vår globala variabeldeklarationsprocess. Nu kan vi använda detta i valfri modul, alla projekt som endast String. Innan vi använder den, ta bort den tidigare deklarerade variabeln, så skulle koden se ut som visas nedan.

Koda:

 Alternativ Explicit Global A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Låt oss nu tilldela lite text till definierad variabel A i båda underkategorierna. Vi väljer “Test1” och “Test2” för variabel A i båda underkategorierna som visas nedan. Och vi har också valt MsgBox för att visa värdena lagrade i variabel A.

Koda:

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

Kör nu koden genom att trycka på F5-tangenten eller genom att klicka på play-knappen för att se resultatet.

Vi får meddelandet som "Test1" som visas ovan. Det beror på att vi hade behållit vår markör i den första underkategorin.

Sätt nu markören var som helst i den andra underkategorin och kör koden igen. Vi får nu meddelandelådan med meddelandet "Test2" som visas nedan.

Så här kan vi skapa och definiera en variabel en gång med hjälp av Global och som kan användas i valfri modul, valfri klass och i alla projekt. Vi kan också använda Public i stället för Global som visas nedan. Och detta kommer att ge samma resultat som vi fick genom att använda Global.

Koda:

 Alternativ Explicit Public A As String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Fördelar med VBA Global Variable

  • Det sparar tid att deklarera flera variabler när vi vet det, vi kan behöva definiera samma typ av variabel igen i olika moduler eller underkategorier.
  • Genom att använda Global eller Public för att definiera en variabel process blir vår kod mindre och sparar tid och utrymmen.
  • Det minskar komplexiteten när vi skriver den enorma koden och kan bli förvirrad över användningen av olika variabler i olika moduler eller underkategorier.

Nackdelar med VBA Global Variable

  • Om vi ​​gör några ändringar i den globala variabeln, kommer de ändringarna att implementeras i allt där den används och orsakar problemet i funktionen för skriftlig kod.

Saker att komma ihåg

  • Global och Public kan användas omväxlande med samma funktionalitet.
  • Om vi ​​inte vill använda Global variabel kan vi följa processen som visas i exempel-1 för att definiera variabeln. Men det skulle begränsas till samma modul.
  • Globala variabler kan användas i valfri modul, vilken underkategori, vilken klass som helst eller i något projekt.
  • En global variabel ger utdata från koden där vi har hållit markören. Den kommer inte att köra den fullständiga koden på en gång och ger all utdata en efter en.

Rekommenderade artiklar

Detta är en guide till VBA Global Variables. Här diskuterar vi hur man deklarerar globala variabler i Excel med hjälp av VBA-kod tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA UserForm
  2. Lös ekvation i Excel
  3. VBA Activate Sheet
  4. Hur redigerar jag rullgardinslistan i Excel?

Kategori: