Variáveis ​​públicas VBA

Variáveis ​​Públicas em VBA

“Variáveis ​​públicas” no VBA, como o nome sugere, são variáveis ​​que são declaradas para uso público para todas as macros que escrevemos no mesmo módulo, bem como em módulos diferentes. Portanto, quando as variáveis ​​são declaradas no início de qualquer macro são chamadas de “Variáveis ​​Públicas” ou “Variáveis ​​Globais”.

Como declarar variáveis ​​públicas no VBA?

Normalmente, iniciamos o subprocedimento VBA e dentro do subprocedimento, declaramos nossas variáveis. Esta é a prática comum que todos nós fizemos até este artigo.

Você pode baixar este modelo Excel de variáveis ​​públicas VBA aqui - Modelo Excel de variáveis ​​públicas VBA

Cada vez que escrevemos um novo subprocedimento, declaramos novas variáveis ​​com tipos de dados atribuídos a elas. Mas hoje vamos dizer adeus às variáveis ​​repetitivas em todos os subprocedimentos.

Vamos relembrar o estilo antigo, abaixo está o código que escrevi com uma única variável.

No subprocedimento “Public_Variable” eu declarei esta variável. Agora não posso usar nenhum dos outros módulos.

Já no subprocedimento “Variável_Publica1” não podemos usar a variável “Var1” que foi declarada no primeiro subprocedimento “Variável_Publica”. Esta é a limitação de declarar variáveis ​​dentro dos subprocedimentos.

# 1 - Variáveis ​​de nível de módulo

Como todos sabemos, escrevemos macros em módulos, podemos inserir vários módulos. Podemos declarar dois tipos de “Variáveis ​​Públicas” no VBA, um é usar as variáveis ​​para todos os subprocedimentos no mesmo módulo e o segundo é usar as variáveis ​​para todos os subprocedimentos em todos os módulos.

Primeiro, veremos a declaração de variáveis ​​públicas no VBA no nível do módulo.

Para usar as variáveis ​​para todos os subprocedimentos no mesmo módulo, precisamos declarar as variáveis ​​na parte superior do módulo antes de iniciarmos quaisquer macros.

Abaixo está a captura de tela de exemplo para sua compreensão.

Como podemos ver na imagem acima, declarei duas variáveis ​​antes de iniciar qualquer macro no módulo. Agora, essas duas variáveis ​​podem ser usadas em qualquer número de macros neste módulo.

Dentro do subprocedimento começa a digitar o nome da variável que você pode ver que a lista do IntelliSense mostrará os nomes das variáveis.

Agora podemos usar essas variáveis ​​em todas as macros que escrevemos no “Módulo1”.

Essas variáveis ​​são limitadas para uso apenas neste módulo. Por exemplo, agora vou inserir mais um módulo e escrever uma nova macro.

No Módulo2, não posso usar as variáveis ​​que declaramos no “Módulo1”.

Então, como podemos tornar essas variáveis ​​públicas no VBA para usar em todos os módulos e em todos os subprocedimentos?

# 2 - Declare que as Variáveis ​​as usam publicamente

Volte para o “Módulo1” neste módulo, nós declaramos variáveis ​​antes de começarmos a escrever o caminho da macro e também que mundo usamos para declarar essas variáveis.

Nossa maneira tradicional de usar a palavra “DIM” declaramos essas variáveis.

Quando usamos apenas a palavra “DIM”, ela se limita a ser usada em todas as macros, mas no mesmo módulo.

Em vez da palavra “DIM”, precisamos usar a palavra “PÚBLICO” ou “GLOBAL” para torná-los disponíveis para uso em todos os módulos de macros.

Usei a palavra “Global” para tornar pública a declaração da variável. Você também pode usar a palavra “Público”.

Portanto, usando as palavras “Global” e “Público”, podemos declarar variáveis ​​que podem ser usadas para todas as macros nos módulos.

Coisas para lembrar

  • É uma boa prática declarar variáveis ​​publicamente, mas requer ampla experiência antes de declará-las.
  • Assim que as macros começarem a rodar, o valor da macro da variável será o mesmo.
  • Atribua o valor particular à variável dentro da macro específica apenas para evitar qualquer tipo de confusão.