Variáveis ​​globais do VBA - Como declarar uma variável global em VBA?

Algumas funções são definidas dentro de uma função e são usadas dentro das funções e algumas variáveis ​​são definidas fora das funções e são usadas por todas as funções e tais variáveis ​​são usadas como Variáveis ​​Globais, por exemplo, as variáveis ​​declaradas na subfunção são conhecidas como variáveis ​​globais.

Variável global no Excel VBA

Declarar uma variável parece muito simples, mas para ter uma boa experiência com elas, precisamos entender o escopo dessas variáveis. Freqüentemente, declaramos as variáveis ​​para cada macro dentro do subprocedimento todas as vezes. Mas, ao declarar uma variável, podemos usá-la em todas as macros no mesmo módulo e nos outros módulos do projeto VBA atual. Neste artigo, mostraremos como declarar variáveis ​​globais no Excel VBA.

O que são variáveis ​​globais no Excel VBA?

Variáveis ​​globais do VBA são variáveis ​​que são declaradas antes do início de qualquer macro no módulo. Quando as variáveis ​​são declaradas usando "Pública" ou "Global", ela se torna "Variável Global".

Variáveis ​​de subprocedimento não podem ser usadas em qualquer lugar.

Normalmente declaramos a variável dentro da sub-rotina em VBA usando a palavra "Dim".

Olhe para a imagem acima. Eu declarei a variável “k” como um inteiro dentro do subprocedimento Global_Example1.

Suponha que usemos essa variável dentro desse procedimento Sub a qualquer momento. No entanto, não posso usar essa variável em outro subprocedimento no mesmo módulo de classe no VBA ou em outro módulo.

Conforme mostrado na imagem acima, a variável “k,” declarada no subprocedimento Global_Example1, não pode ser usada no Subprocedimento Global_Example2.

Da mesma forma, a variável “j” declarada no subprocedimento Global_Example2 não pode ser usada no Subprocedimento Global_Example1, embora ambos os subprocedimentos estejam no mesmo módulo.

Como declarar uma variável global em VBA?

A seguir estão as maneiras de declarar uma variável global no Excel VBA.

# 1 - As variáveis ​​do módulo podem ser usadas em qualquer subprocedimento no mesmo módulo

Como vimos, não podemos usar as variáveis ​​de subprocedimento em nenhum dos módulos. Para torná-los disponíveis para todos os procedimentos Sub no mesmo módulo, precisamos declarar as variáveis ​​na parte superior do módulo.

Na imagem acima, declarei a variável apenas no início do módulo. Expressei a variável “MyNumber” como Inteiro no Módulo 1 .

Uma vez que a variável é declarada no topo do módulo, podemos usar a mesma variável para todos os outros procedimentos Sub no mesmo módulo. Nesse caso, podemos usar a variável “MyNumber” para todos os procedimentos Sub no Módulo 1.

O problema é que não podemos usá-los em nenhum dos outros módulos. Nesse caso, a variável “MyNumber,” declarada no Módulo 1, não pode ser usada no Módulo 2.

# 2 - Variáveis ​​globais podem ser usadas em qualquer subprocedimento e também em qualquer módulo

Agora vimos dois tipos de declaração de variável e o escopo deles durante o uso. O interessante é que podemos declarar a variável em qualquer um dos módulos e usá-la para todos os procedimentos Sub em todos os módulos do mesmo projeto VBA.

Para disponibilizar a variável para todos os procedimentos Sub em todos os módulos, precisamos declarar a variável na parte superior do módulo, não usando a palavra "Dim", mas usando o nome "Público" ou "Global".

Na imagem acima, você pode ver que usei a palavra “Público” para declarar a variável em vez de nossa palavra veterana “Dim”.

Na captura de tela acima, declarei a variável no Módulo 1. Tenho mais dois módulos, chamados Módulo 2 e Módulo 3.

Como declarei a variável usando a palavra “Público” na parte superior do módulo, agora posso acessar essas variáveis ​​em qualquer subprocedimento em qualquer módulo da mesma pasta de trabalho.

Não apenas “Público”, mas também podemos usar a palavra “Global” para declarar a variável.

Global e Público são as duas palavras-chave para declarar a variável e torná-los disponíveis entre os módulos no VBA.

Coisas para lembrar

  • Depois que a macro do Excel é executada com o valor de uma variável global, a variável é a mesma em todos os procedimentos Sub.
  • É melhor manter um módulo específico para declarar variáveis ​​globais no VBA e ter todas as variáveis ​​em um módulo.
  • A única maneira de redefinir o valor da variável é redefinir o código de macro pressionando o botão de parada.

Artigos interessantes...