VBA globale variabelen - Hoe globale variabele in VBA declareren?

Sommige functies zijn gedefinieerd binnen een functie en worden gebruikt binnen de functies en sommige variabelen worden gedefinieerd buiten de functies en worden gebruikt door alle functies en dergelijke variabelen worden gebruikt als globale variabelen, de variabelen die onder de subfunctie zijn gedeclareerd, zijn bijvoorbeeld bekend als Global Variables.

Globale variabele in Excel VBA

Het declareren van een variabele lijkt vrij eenvoudig, maar om ze goed in de hand te hebben, moeten we de reikwijdte van die variabelen begrijpen. Vaak declareren we elke keer de variabelen voor elke macro binnen de subprocedure. Maar door één variabele te declareren, kunnen we deze gebruiken in alle macro's in dezelfde module en in de andere modules van het huidige VBA-project. In dit artikel laten we u zien hoe u globale variabelen in Excel VBA declareert.

Wat zijn globale variabelen in Excel VBA?

VBA Global Variables zijn variabelen die worden gedeclareerd vóór het begin van een macro in de module. Als de variabelen worden gedeclareerd met 'Public' of 'Global', wordt dit 'Global Variable'.

Subprocedurevariabelen kunnen nergens worden gebruikt.

Meestal declareren we de variabele in de subroutine in VBA door het woord 'Dim' te gebruiken.

Kijk naar de bovenstaande afbeelding. Ik heb de variabele "k" gedeclareerd als geheel getal in de subprocedure Global_Example1.

Stel dat we deze variabele op elk moment in deze Sub-procedure gebruiken. Ik kan deze variabele echter niet gebruiken in een andere subprocedure, noch in dezelfde klassemodule in VBA of in een andere module.

Zoals weergegeven in de bovenstaande afbeelding, kan de variabele "k", gedeclareerd in de subprocedure Global_Example1, niet worden gebruikt in de Sub-procedure Global_Example2.

Evenzo kan variabele “j” die is gedeclareerd in de subprocedure Global_Example2 niet worden gebruikt in de Sub-procedure Global_Example1, hoewel beide subprocedures in dezelfde module zitten.

Hoe globale variabele in VBA declareren?

Hieronder volgen de manieren om een ​​globale variabele in Excel VBA te declareren.

# 1 - Modulevariabelen kunnen in elke subprocedure in dezelfde module worden gebruikt

Zoals we hebben gezien, kunnen we de subprocedurevariabelen in geen van de modules gebruiken. Om ze beschikbaar te maken voor alle Sub-procedures in dezelfde module, moeten we de variabelen bovenaan de module declareren.

In de bovenstaande afbeelding heb ik de variabele alleen aan het begin van de module gedeclareerd. Ik heb de variabele "MyNumber" uitgedrukt als Integer in Module 1 .

Zodra de variabele bovenaan de module is gedeclareerd, kunnen we dezelfde variabele gebruiken voor alle andere subprocedures in dezelfde module. In dit geval kunnen we de variabele “MyNumber” gebruiken voor alle Subprocedures in Module 1.

Het probleem is dat we ze in geen van de andere modules kunnen gebruiken. In dit geval kan de variabele "MyNumber", gedeclareerd in Module 1, niet worden gebruikt in Module 2.

# 2 - Globale variabelen kunnen in elke subprocedure en ook in elke module worden gebruikt

Nu hebben we twee soorten variabeledeclaratie gezien en de reikwijdte ervan tijdens het gebruik. Het opwindende is dat we de variabele in een van de modules kunnen declareren en deze kunnen gebruiken voor alle subprocedures in alle modules van hetzelfde VBA-project.

Om de variabele beschikbaar te maken voor alle Sub-procedures in alle modules, moeten we de variabele bovenaan de module declareren, niet door het woord "Dim" te gebruiken, maar door de naam "Public" of "Global" te gebruiken.

In de bovenstaande afbeelding kun je zien dat ik het woord 'Public' heb gebruikt om de variabele te declareren in plaats van ons veteraanwoord 'Dim'.

In de bovenstaande schermafbeelding heb ik de variabele in module 1 gedeclareerd . Ik heb nog twee modules, genaamd module 2 en module 3.

Omdat ik de variabele heb gedeclareerd met het woord "Openbaar" bovenaan de module, heb ik nu toegang tot deze variabelen in elke subprocedure in elke module van dezelfde werkmap.

Niet alleen "Public", maar we kunnen ook het woord "Global" gebruiken om de variabele te declareren.

Globaal en openbaar zijn de twee sleutelwoorden om de variabele te declareren en beschikbaar te maken voor alle modules in VBA.

Dingen om te onthouden

  • Zodra de Excel-macro wordt uitgevoerd met de waarde van een globale variabele, is de variabele hetzelfde voor alle subprocedures.
  • Het is beter om een ​​bepaalde module te onderhouden om globale variabelen in VBA te declareren en alle variabelen in één module te hebben.
  • De enige manier waarop we de waarde van de variabele kunnen resetten, is door de macrocode te resetten door op de stopknop te drukken.

Interessante artikelen...