Vamos cobrir as variáveis globais neste tutorial. Uma variável no VBA pode ter um escopo diferente. O escopo de uma variável é baseado em sua posição no código e na forma como é declarada. O escopo de uma variável indica sua visibilidade e onde pode ser usada.
Variável de nível de procedimento
Essas variáveis só podem ser usadas dentro do Sub Procedure ou Function em que são declaradas. Você deve declarar uma variável de nível de procedimento usando a palavra-chave Dim. Além disso, você deve colocá-lo no Sub Procedimento ou Função de interesse. A maneira como você declararia uma variável de nível de procedimento é mostrada no código a seguir:
1234567 | Sub DeclaringAProcedureLevelVariable ()Dim someNumber As IntegersomeNumber = 5MsgBox someNumberEnd Sub |
O resultado é:
Você só pode usar essa variável dentro do Sub Procedure chamado DeclaringAProcedureLevelVariable (). Uma vez que está neste Sub Procedimento e usamos a palavra-chave Dim. Se você chamá-lo de outro Sub Procedure, obterá o seguinte erro:
Variável de nível de módulo
Você pode usar uma variável de nível de módulo em qualquer um dos subprocedimentos ou funções dentro do mesmo módulo. Você precisa colocar a declaração da variável no topo do módulo na seção Declarações, sob a declaração Opções Explícitas, e usar a palavra-chave Dim:
Quando executamos o segundo Sub Procedure em vez de uma mensagem de erro, obtemos o seguinte resultado na célula A1 da pasta de trabalho:
Variável de Nível Global
Você pode utilizar uma variável global em seus módulos, funções, subprocedimentos e classes. Você declara uma variável global, na seção Declarações, na instrução Opções explícitas e usando a palavra-chave Global. A maneira como você declara uma variável de nível global é mostrada abaixo. Ambos os Sub Procedimentos no Módulo1 podem usar essa variável.
Como essa variável é uma variável de nível global, você também pode usá-la no Módulo 2:
Ao executar este código do Módulo2, você obtém o seguinte resultado: