Variáveis ​​Globais do Excel VBA

Geralmente declaramos qualquer variável usando a palavra DIM e esse é o melhor método direto de fazer isso. Mas as variáveis ​​declaradas usando DIM podem ser usadas apenas dentro do mesmo módulo. Se tentarmos usar essa variável definida usando DIM, ela será aplicável ao módulo sob o qual está sendo declarada. E se quisermos usar uma variável em qualquer módulo ou projeto? O que não é possível se continuarmos usando o DIM para definir essa variável?

Nesse caso, temos uma opção secundária, definindo a variável pela palavra Global ou Pública no VBA. Variáveis ​​globais ou públicas do VBA são aquelas declaradas no início da subcategoria com a ajuda da Option Explicit. Quaisquer que sejam as coisas que não fazemos ou não podemos fazer nas subcategorias, elas são feitas anteriormente na Opção Explícita.

Como declarar variáveis ​​globais no VBA?

Abaixo estão os exemplos diferentes para declarar uma variável global no Excel usando o código VBA.

Você pode fazer o download deste modelo de Excel de variáveis ​​globais do VBA aqui - Modelo de Excel de variáveis ​​globais do VBA

Variáveis ​​Globais do VBA - Exemplo # 1

Neste exemplo, veremos como diferentes subcategorias podem ser usadas como um único módulo sem usar a palavra Global ou Public para definir qualquer variável. Para isso, precisaríamos de um módulo.

  • Vá para o menu Inserir e clique em Módulo, como mostrado abaixo.

  • Agora digite a subcategoria em qualquer nome, como mostrado abaixo.

Código:

 Sub Global_Variable () End Sub 

  • Agora use DIM para definir qualquer tipo de variável. Aqui escolhemos o alfabeto A como String .

Código:

 Sub Global_Variable () Dim A como String End Sub 

  • Agora crie outra subcategoria no mesmo módulo, como mostrado abaixo.

Código:

 Sub Global_Variable () Dim A como String End Sub Sub Global_Variable6 () End Sub 

  • Agora, na segunda subcategoria, defina outra variável B usando DIM como String.

Código:

 Sub Global_Variable () Dim A como String End Sub Sub Global_Variable6 () Dim B como String End Sub 

Como mostrado acima, as variáveis ​​A e B definidas nas duas subcategorias não podem ser usadas na região uma da outra. Esses serão aplicáveis ​​somente em sua própria subcategoria.

  • Agora, para fazer isso funcionar, escreva Option Explicit acima da primeira subcategoria, como mostrado abaixo.

Código:

 Opção Explícita Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Agora podemos definir nossa variável que será usada nas duas subcategorias que temos abaixo. Então agora considere escrever qualquer variável, digamos A como String usando DIM.

Código:

 Opção Explícita Dim A Como String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Como definimos a variável, todas as subcategorias estarão nesse módulo e isso seria aplicável a todo o código desse módulo. E se tentarmos chamar as variáveis ​​definidas neste módulo para outro módulo, isso nos causaria o erro.

Variáveis ​​Globais do VBA - Exemplo # 2

Neste exemplo, veremos como usar a palavra Global ou Pública para definir qualquer variável no Excel VBA. Para isso, usaremos o código que vimos no exemplo-1.

Usaremos abaixo a parte do código para declaração de variável global ou pública.

Código:

 Opção Explícita Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Como fizemos no exemplo-1, onde declaramos a variável comum que seria usada nas duas subcategorias, abaixo da Opção Explícita. No exemplo, declararemos a variável global abaixo da opção explícita também.

Como já temos nosso código pronto, podemos continuar declarando variáveis ​​usando Global . Agora, na opção Explicit abaixo, escreva Global da mesma forma que costumávamos com o DIM e selecione uma variável de escolha. Aqui estamos escolhendo o alfabeto A, como mostrado abaixo.

Código:

 Opção Explícita Global A Sub Global_Variable () Dim A como String End Sub Global_Variable6 () Dim B como String End Sub 

Agora escolhemos qualquer tipo de variável. Como já usamos String no exemplo acima, também usaríamos o mesmo aqui.

Código:

 Opção Explícita Global A Como String Sub Global_Variable () Dim A Como String End Sub Sub Global_Variable6 () Dim B Como String End Sub 

Isso completa nosso processo de declaração de variáveis ​​globais. Agora podemos usar isso em qualquer módulo, qualquer projeto apenas como String. Antes de usá-lo, exclua a variável declarada anteriormente e o código será como mostrado abaixo.

Código:

 Opção Global Explícito A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Agora vamos atribuir algum texto à variável definida A nas duas subcategorias. Estamos escolhendo "Teste1" e "Teste2" para a variável A em ambas as subcategorias, como mostrado abaixo. E também escolhemos MsgBox para mostrar os valores armazenados na variável A.

Código:

 Opção Global Explícito A como String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Agora execute o código pressionando a tecla F5 ou clicando no botão play para ver o resultado.

Receberemos a mensagem como "Teste1", como mostrado acima. É porque mantivemos o cursor na primeira subcategoria.

Agora coloque o cursor em qualquer lugar da segunda subcategoria e execute o código novamente. Agora receberemos a caixa de mensagem com a mensagem "Test2", como mostrado abaixo.

É assim que podemos criar e definir uma variável uma vez com a ajuda da Global e que pode ser usada em qualquer módulo, classe e projeto. Também podemos usar o público no lugar do global, como mostrado abaixo. E isso dará o mesmo resultado que obtivemos usando o Global.

Código:

 Opção Público explícito A Como String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Profissionais da VBA Global Variable

  • Isso economiza tempo ao declarar as múltiplas variáveis ​​quando sabemos que podemos precisar definir o mesmo tipo de variável novamente em diferentes módulos ou subcategorias.
  • Ao usar Global ou Public na definição de um processo variável, nosso código se torna menor, economizando tempo e espaço.
  • Isso reduz a complexidade quando estamos escrevendo o código enorme e pode ficar confuso entre o uso de diferentes variáveis ​​em diferentes módulos ou subcategorias.

Contras da variável global VBA

  • Se fizermos alterações na variável Global, essas alterações serão implementadas em todos os locais em que forem usadas, causando o problema na funcionalidade do código escrito.

Coisas para lembrar

  • Global e Público podem ser usados ​​alternadamente com a mesma funcionalidade.
  • Se não queremos usar a variável Global, podemos seguir o processo conforme mostrado no exemplo-1 para definir a variável. Mas isso seria limitado ao mesmo módulo.
  • Variáveis ​​globais podem ser usadas em qualquer módulo, subcategoria, classe ou projeto.
  • Uma variável Global fornece a saída do código em que mantivemos o cursor. Ele não executará o código completo de uma só vez, fornecendo toda a saída, uma por uma.

Artigos recomendados

Este é um guia para variáveis ​​globais do VBA. Aqui discutimos como declarar variáveis ​​globais no Excel usando o código VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Formulário de Usuário VBA
  2. Resolver equação no Excel
  3. Folha de ativação do VBA
  4. Como editar a lista suspensa no Excel?

Categoria: