Variável Global VBA

Índice

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:

wave wave wave wave wave