VBA globale variabler - Hvordan erklæres global variabel i VBA?

Indholdsfortegnelse

Nogle funktioner er defineret inde i en funktion og bruges inden for funktionerne, og nogle variabler er defineret uden for funktionerne og bruges af alle funktionerne, og sådanne variabler bruges som globale variabler, for eksempel er de variabler, der er erklæret under underfunktionen, kendt som globale variabler.

Global variabel i Excel VBA

At erklære en variabel virker ret simpelt, men for at have god hands-on dem er vi nødt til at forstå omfanget af disse variabler. Ofte erklærer vi variablerne for hver makro inde i underproceduren hver gang. Men ved at erklære en variabel kan vi bruge den i alle makroerne i det samme modul og de andre moduler i det aktuelle VBA-projekt. I denne artikel viser vi dig, hvordan du erklærer globale variabler i Excel VBA.

Hvad er globale variabler i Excel VBA?

VBA Global Variables er variabler, der erklæres inden starten på enhver makro i modulet. Når variablerne erklæres ved hjælp af enten "Offentlig" eller "Global", bliver det "Global variabel."

Subprocedurevariabler kan ikke bruges overalt.

Vi erklærer normalt variablen inde i underrutinen i VBA ved hjælp af ordet "Dim."

Se på ovenstående billede. Jeg har erklæret variablen “k” som heltal inde i underproceduren Global_Example1.

Antag, at vi bruger denne variabel inden for denne underprocedure til enhver tid. Jeg kan dog ikke bruge denne variabel i en anden underprocedure hverken i det samme klassemodul i VBA eller et andet modul.

Som vist i ovenstående billede kan variablen “k”, der er erklæret i underproceduren Global_Example1, ikke bruges i underproceduren Global_Example2.

Tilsvarende kan variablen “j”, der er erklæret i underproceduren Global_Example2, ikke bruges i underproceduren Global_Example1, selvom begge delprocedurer er i det samme modul.

Hvordan erklæres global variabel i VBA?

Følgende er måderne til at erklære en global variabel i excel VBA.

# 1 - Modulvariabler kan bruges i enhver underprocedure i det samme modul

Som vi har set, kan vi ikke bruge underprocedurevariablerne i nogen af ​​modulerne. For at gøre dem tilgængelige for alle Sub-procedurer i det samme modul, er vi nødt til at erklære variablerne øverst i modulet.

I ovenstående billede har jeg kun erklæret variablen i starten af ​​modulet. Jeg har udtrykt variablen “MyNumber” som heltal i modul 1 .

Når variablen er erklæret øverst i modulet, kan vi bruge den samme variabel til alle de andre underprocedurer i det samme modul. I dette tilfælde kan vi bruge variablen “MyNumber” til alle underprocedurer i modul 1.

Problemet er, at vi ikke kan bruge dem i nogen af ​​de andre moduler. I dette tilfælde kan variablen “MyNumber”, der er erklæret i modul 1, ikke bruges i modul 2.

# 2 - Globale variabler kan bruges i enhver underprocedure og også i ethvert modul

Nu har vi set to slags variabel erklæring og omfanget af dem under brug. Det spændende er, at vi kan erklære variablen i et hvilket som helst af modulerne og bruge den til alle underprocedurer i alle modulerne i det samme VBA-projekt.

For at gøre variablen tilgængelig for alle Sub-procedurer på tværs af alle moduler er vi nødt til at erklære variablen øverst i modulet ikke ved hjælp af ordet "Dim", men ved at bruge navnet "Public" eller "Global".

I ovenstående billede kan du se, at jeg har brugt ordet "Offentlig" til at erklære variablen i stedet for vores veteranord "Dim."

I ovenstående skærmbillede har jeg erklæret variablen i modul 1. Jeg har yderligere to moduler, der hedder modul 2 og modul 3.

Da jeg har erklæret variablen ved hjælp af ordet "Offentlig" øverst i modulet, kan jeg nu få adgang til disse variabler i enhver underprocedure på tværs af ethvert modul i den samme projektmappe.

Ikke kun "Offentlig", men vi kan også bruge ordet "Global" til at erklære variablen.

Global & Public er de to nøgleord, der erklærer variablen og gør dem tilgængelige på tværs af moduler i VBA.

Ting at huske

  • Når excel-makroen kører med en global variabels værdi, er variablen den samme på tværs af alle underprocedurerne.
  • Det er bedre at vedligeholde et bestemt modul for at erklære globale variabler i VBA og have alle variablerne i et modul.
  • Den eneste måde, hvorpå vi kan nulstille værdien af ​​variablen, er ved at nulstille makrokoden ved at trykke på stopknappen.

Interessante artikler...