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 VBAVariá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 -
- Formulário de Usuário VBA
- Resolver equação no Excel
- Folha de ativação do VBA
- Como editar a lista suspensa no Excel?