VBA openbare variabelen

Openbare variabelen in VBA

"Openbare variabelen" in VBA, zoals de naam suggereert, zijn variabelen die worden verklaard om openbaar te gebruiken voor alle macro's die we schrijven in dezelfde module en ook in verschillende modules. Dus als de variabelen aan het begin van een macro worden gedeclareerd, worden ze "Openbare variabelen" of "Globale variabelen" genoemd.

Hoe openbare variabelen in VBA declareren?

Meestal starten we de VBA-subprocedure en binnen de subprocedure declareren we onze variabelen. Dit is de gangbare praktijk die we allemaal hebben gedaan tot dit artikel.

U kunt deze VBA Public Variables Excel-sjabloon hier downloaden - VBA Public Variables Excel-sjabloon

Elke keer dat we een nieuwe subprocedure schrijven, declareren we nieuwe variabelen met gegevenstypen die eraan zijn toegewezen. Maar vandaag zullen we afscheid nemen van repetitieve variabelen tussen subprocedures.

Laten we ons de oude stijl herinneren, hieronder staat de code die ik heb geschreven met een enkele variabele.

In subprocedure “Public_Variable” heb ik deze variabele gedeclareerd. Nu kan ik geen van de andere modules gebruiken.

Nu kunnen we in de subprocedure “Public_Variable1” niet de variabele “Var1” gebruiken die werd gedeclareerd in de eerste subprocedure “Public_Variable”. Dit is de beperking van het declareren van variabelen binnen de subprocedures.

# 1 - Variabelen op moduleniveau

Zoals we allemaal weten, schrijven we macro's in modules, we kunnen een aantal modules invoegen. We kunnen twee soorten "openbare variabelen" declareren in VBA, een is om de variabelen te gebruiken voor alle subprocedures in dezelfde module en de tweede is om de variabelen te gebruiken voor alle subprocedures in alle modules.

Ten eerste zullen we openbare variabelen in VBA op moduleniveau zien declareren.

Om de variabelen voor alle subprocedures in dezelfde module te gebruiken, moeten we de variabelen bovenaan de module declareren voordat we macro's starten.

Hieronder ziet u het voorbeeldscherm voor uw begrip.

Zoals we in de bovenstaande afbeelding kunnen zien, heb ik twee variabelen verklaard voordat ik een macro in de module start. Nu kunnen deze twee variabelen in een willekeurig aantal macro's in deze module worden gebruikt.

In de subprocedure begint u met het typen van de variabelenaam die u kunt zien. IntelliSense-lijst zal variabelenamen weergeven.

Nu kunnen we deze variabelen gebruiken in alle macro's die we in “Module1” schrijven.

Deze variabelen kunnen alleen in deze module worden gebruikt. Nu zal ik bijvoorbeeld nog een module invoegen en een nieuwe macro schrijven.

In Module2 kan ik de variabelen die we hebben gedeclareerd in “Module1” niet gebruiken.

Dus, hoe kunnen we deze variabelen openbaar maken in VBA voor gebruik in alle modules en in alle subprocedures?

# 2 - Declareer variabelen, gebruik ze openbaar

Ga terug naar “Module1” in deze module hebben we variabelen gedeclareerd voordat we de weg van de macro gaan schrijven en ook welke wereld we hebben gebruikt om die variabelen te declareren.

Op onze traditionele manier om het woord "DIM" te gebruiken, hebben we deze variabelen verklaard.

Als we alleen het woord "DIM" gebruiken, is het beperkt tot alle macro's maar in dezelfde module.

In plaats van het woord "DIM" moeten we het woord "PUBLIC" of "GLOBAL" gebruiken om ze beschikbaar te maken voor gebruik in alle modules van macro's.

Ik heb het woord "Globaal" gebruikt om de variabele declaratie openbaar te maken. U kunt ook het woord "Openbaar" gebruiken.

Dus door de woorden "Globaal" en "Openbaar" te gebruiken, kunnen we variabelen declareren die kunnen worden gebruikt voor alle macro's in modules.

Dingen om te onthouden

  • Het is een goede gewoonte om variabelen openbaar te declareren, maar er is veel ervaring voor nodig voordat u ze declareert.
  • Zodra de macro's zijn gestart om over de macro te lopen, zal de waarde van de variabele hetzelfde zijn.
  • Wijs de specifieke waarde alleen toe aan de variabele in de specifieke macro om elke vorm van verwarring te voorkomen.