Excel VBA Global Variables

We verklaren meestal elke variabele met het woord DIM en dit is de beste directe methode om dit te doen. Maar de variabelen die met DIM zijn gedeclareerd, kunnen alleen binnen dezelfde module worden gebruikt. Als we proberen deze variabele te gebruiken die is gedefinieerd met behulp van DIM, is deze van toepassing op de module waaronder deze wordt gedeclareerd. Wat als we een variabele in een module of project willen gebruiken? Wat niet mogelijk is als we DIM blijven gebruiken om die variabele te definiëren?

In dat geval hebben we een secundaire optie door de variabele te definiëren met het woord Global of Public in VBA. VBA Global of Public-variabelen zijn die variabelen die aan het begin van een subcategorie worden gedeclareerd met behulp van Option Explicit. Wat we ook niet doen of kunnen doen onder subcategorieën, ze worden eerder gedaan onder Option Explicit.

Hoe globale variabelen te declareren in VBA?

Hieronder staan ​​de verschillende voorbeelden om een ​​globale variabele in Excel te declareren met behulp van VBA-code.

U kunt deze VBA Global Variables Excel Template hier downloaden - VBA Global Variables Excel Template

VBA Global Variables - Voorbeeld # 1

In dit voorbeeld zullen we zien hoe verschillende subcategorieën kunnen worden gebruikt als een enkele module zonder Globaal of Openbaar woord te gebruiken voor het definiëren van een variabele. Hiervoor hebben we een module nodig.

  • Ga naar het menu Invoegen en klik op Module zoals hieronder weergegeven.

  • Typ nu de subcategorie in een naam zoals hieronder wordt weergegeven.

Code:

 Sub Global_Variable () Einde Sub 

  • Gebruik nu DIM om elke soort variabele te definiëren. Hier hebben we alfabet A gekozen als String .

Code:

 Sub Global_Variable () Dim A Als String End Sub 

  • Maak nu een andere subcategorie in dezelfde module zoals hieronder weergegeven.

Code:

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

  • Definieer nu in de tweede subcategorie een andere variabele B met DIM als String.

Code:

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

Zoals hierboven getoond, kunnen de variabelen A en B die in beide subcategorieën zijn gedefinieerd niet in elkaars regio worden gebruikt. Die zijn alleen van toepassing in hun eigen subcategorie.

  • Om dit te laten werken, schrijft u Option Explicit boven de eerste subcategorie zoals hieronder weergegeven.

Code:

 Optie Expliciet Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Nu kunnen we onze variabele definiëren die zal worden gebruikt in beide subcategorieën waarvan we hieronder hebben. Dus overweeg nu om een ​​variabele te schrijven, zeg A als String met behulp van DIM.

Code:

 Optie Expliciet Dimmen A String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Omdat we de variabele hebben gedefinieerd, bevinden alle subcategorieën zich in die module en dit zou alleen van toepassing zijn op alle code van die module. En als we proberen de variabelen te definiëren die in deze module zijn gedefinieerd, naar een andere module, geeft dit ons de foutmelding.

VBA Global Variables - Voorbeeld # 2

In dit voorbeeld zullen we zien hoe we Globaal of Openbaar woord kunnen gebruiken voor het definiëren van een variabele in Excel VBA. Hiervoor zullen we de code gebruiken die we in voorbeeld-1 hebben gezien.

We zullen het onderstaande gedeelte van de code gebruiken voor de algemene of openbare variabele declaratie.

Code:

 Optie Expliciet Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Zoals we deden in voorbeeld-1, waar we de gemeenschappelijke variabele hebben opgegeven die in beide subcategorieën zou worden gebruikt, onder de optie Expliciet. In het voorbeeld verklaren we de globale variabele ook onder de optie Expliciet.

Omdat we onze code al klaar hebben, kunnen we direct variabelen declareren met Global . Nu in de onderstaande optie Expliciet schrijven globaal hetzelfde als we gewend zijn met DIM en selecteer een variabele naar keuze. Hier kiezen we alfabet A zoals hieronder getoond.

Code:

 Optie Expliciet Globaal A Sub Global_Variable () Dim A als String End Sub Sub Global_Variable6 () Dim B als String End Sub 

Nu kiezen we elk type variabele. Omdat we String al in het bovenstaande voorbeeld hebben gebruikt, zouden we hier ook hetzelfde gebruiken.

Code:

 Optie Expliciet Globaal A als String Sub Global_Variable () Dim A als String End Sub Sub Global_Variable6 () Dim B als String End Sub 

Dit voltooit ons Global variabele declaratieproces. Nu kunnen we dit in elke module, elk project alleen als String gebruiken. Voordat we het gebruiken, verwijdert u de eerder gedeclareerde variabele, dan ziet de code eruit zoals hieronder wordt getoond.

Code:

 Optie Expliciet Globaal A Als String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Laten we nu wat tekst toewijzen aan gedefinieerde variabele A in beide subcategorieën. We kiezen voor “Test1” en “Test2” voor variabele A in beide subcategorieën, zoals hieronder getoond. En we hebben ook MsgBox gekozen om de waarden te tonen die zijn opgeslagen in variabele A.

Code:

 Optie Expliciet Globaal A Als String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Voer nu de code uit door op F5 te drukken of door op de afspeelknop te klikken om het resultaat te bekijken.

We krijgen het bericht als 'Test1' zoals hierboven weergegeven. Het is omdat we onze cursor in de eerste subcategorie hadden gehouden.

Plaats de cursor nu ergens in de tweede subcategorie en voer de code opnieuw uit. We krijgen nu het berichtvak met bericht "Test2" zoals hieronder weergegeven.

Dit is hoe we met behulp van Global een keer een variabele kunnen maken en definiëren en die in elke module, elke klasse en in elk project kan worden gebruikt. We kunnen Public ook gebruiken in plaats van Global, zoals hieronder wordt weergegeven. En dit geeft hetzelfde resultaat als bij het gebruik van Global.

Code:

 Optie Expliciet Openbaar A Als String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Voordelen van VBA Global Variable

  • Het bespaart tijd bij het declareren van de meerdere variabelen als we weten dat we mogelijk hetzelfde type variabele opnieuw moeten definiëren in verschillende modules of subcategorieën.
  • Door Global of Public te gebruiken bij het definiëren van een variabel proces, wordt onze code kleiner, waardoor tijd en ruimte worden bespaard.
  • Het vermindert de complexiteit wanneer we de enorme code schrijven en kan in de war raken door het gebruik van verschillende variabelen in verschillende modules of subcategorieën.

Nadelen van VBA Global Variable

  • Als we wijzigingen aanbrengen in de variabele Global, worden die wijzigingen geïmplementeerd in alles waar deze wordt gebruikt, wat het probleem veroorzaakt in de functionaliteit van geschreven code.

Dingen om te onthouden

  • Globaal en Openbaar kunnen met dezelfde functionaliteit door elkaar worden gebruikt.
  • Als we geen globale variabele willen gebruiken, kunnen we het proces volgen zoals getoond in voorbeeld-1 voor het definiëren van de variabele. Maar dat zou beperkt blijven tot dezelfde module.
  • Globale variabelen kunnen worden gebruikt in elke module, elke subcategorie, elke klasse of in elk project.
  • Een globale variabele geeft de uitvoer van de code waar we de cursor hebben gehouden. Het zal niet de volledige code in één keer uitvoeren en alle uitvoer één voor één geven.

Aanbevolen artikelen

Dit is een handleiding voor VBA Global Variables. Hier bespreken we hoe u globale variabelen in Excel kunt declareren met behulp van VBA-code, samen met enkele praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. VBA UserForm
  2. Vergelijking oplossen in Excel
  3. VBA-blad activeren
  4. Hoe de vervolgkeuzelijst in Excel te bewerken?

Categorie: