Variables públiques de VBA | Com es poden declarar les variables públiques a VBA (exemples)

Variables públiques a VBA

"Variables públiques" a VBA, com el seu nom indica, són variables que es declaren que s'utilitzen públicament per a totes les macros que escrivim al mateix mòdul i també a diferents mòduls. Per tant, quan les variables es declaren al començament de qualsevol macro s'anomenen "Variables públiques" o "Variables globals".

Com es poden declarar les variables públiques a VBA?

Normalment, iniciem el subprocediment VBA i, dins del subprocediment, declarem les nostres variables. Aquesta és la pràctica habitual que tots hem fet fins aquest article.

Podeu descarregar aquesta plantilla Excel de variables públiques VBA aquí: plantilla Excel de variables públiques VBA

Cada vegada que escrivim un subprocediment nou, declarem variables noves amb els tipus de dades assignats. Però avui ens acomiadarem de les variables repetitives de tots els subprocediments.

Recordem l’antic estil, a continuació es mostra el codi que he escrit amb una sola variable.

Al subprocediment "Public_Variable" he declarat aquesta variable. Ara no puc utilitzar cap dels altres mòduls.

Ara, al subprocés "Public_Variable1" no podem utilitzar la variable "Var1" que es va declarar al primer subprocediment "Public_Variable". Aquesta és la limitació de declarar variables dins dels subprocediments.

# 1 - Variables de nivell del mòdul

Com tots sabem, escrivim macros en mòduls, podem inserir diversos mòduls. Podem declarar dos tipus de "variables públiques" a VBA, un és utilitzar les variables per a tots els subprocediments del mateix mòdul i el segon és utilitzar les variables per a tots els subprocediments de tots els mòduls.

En primer lloc, veurem declarar variables públiques a VBA a nivell de mòdul.

Per utilitzar les variables per a tots els subprocediments del mateix mòdul, hem de declarar les variables a la part superior del mòdul abans d’iniciar cap macros.

A continuació es mostra un exemple de captura de pantalla per entendre-ho.

Com podem veure a la imatge anterior, he declarat dues variables abans d’iniciar qualsevol macro al mòdul. Ara, aquestes dues variables es poden utilitzar en qualsevol nombre de macros d’aquest mòdul.

Dins del subprocediment comença a escriure el nom de la variable que podeu veure. La llista IntelliSense mostrarà els noms de les variables.

Ara podem utilitzar aquestes variables en totes les macros que escrivim al “Mòdul1”.

Aquestes variables només es poden utilitzar en aquest mòdul. Per exemple, ara inseriré un mòdul més i escriuré una nova macro.

Al Mòdul 2 no puc utilitzar aquelles variables que hem declarat al "Mòdul1".

Llavors, com podem fer públiques aquestes variables a VBA per utilitzar-les en tots els mòduls i en tots els subprocediments?

# 2: declarar que les variables les fan servir públicament

Torneu a "Mòdul1" en aquest mòdul que hem declarat variables abans de començar a escriure la forma de la macro i també quin món hem utilitzat per declarar aquestes variables.

La nostra manera tradicional d'utilitzar la paraula "DIM" hem declarat aquestes variables.

Quan utilitzem només la paraula "DIM", només es limita a utilitzar-la a totes les macros però al mateix mòdul.

En lloc de la paraula "DIM", hem d'utilitzar la paraula "PÚBLIC" o "GLOBAL" per fer-les disponibles per a tots els mòduls de macros.

He fet servir la paraula "Global" per fer pública la declaració de variable. També podeu utilitzar la paraula "Públic".

Per tant, utilitzant les paraules "Global" i "Públic" podem declarar variables que es poden utilitzar per a totes les macros dels mòduls.

Coses que cal recordar

  • És una bona pràctica declarar variables públicament, però necessita una àmplia experiència abans de declarar-les.
  • Un cop comencin a executar-se les macros, el valor de la variable serà el mateix.
  • Assigneu el valor particular a la variable dins de la macro específica només per evitar qualsevol tipus de confusió.