Declaração de Variáveis VBA (comandos Dim e Option Explicit)

Oi Pessoal!

Neste post vou falar sobre declaração de variáveis no VBA e dar alguns exemplos de tipos de dados que podemos usar nessas variáveis.

Uma variável é um espaço na memória do computador reservado para armazenar um ou mais valores. Fazemos referência a este espaço utilizando nomes. Como o valor armazenado pode variar, a medida que o código VBA é executado, estas estruturas são chamadas de variáveis.

A declaração de variáveis não é obrigatória no VBA. Porém, é recomendável que declaremos todas as variáveis para facilitar a compreensão do código.

Para declararmos uma variável, utilizamos o comando Dim, que possui a seguinte sintaxe:

Dim nome_da_variável As tipo_da_variável

Exemplos:

Dim x

Dim nome

Dim teste

Nos exemplos anteriores, declaramos apenas o nome da variável, sem declarar o seu tipo (texto, inteiro, data etc.). Uma variável declarada sem tipo é considerada do tipo Variant. O que na prática significa que a variável pode conter qualquer tipo de valor. Então, a declaração do tipo é altamente aconselhável, pois impede, por exemplo, que um campo numérico contenha valores de texto e vice-versa.

Podemos declarar mais de uma variável com um único comando Dim, basta separar as variáveis com vírgula, conforme exemplificado abaixo:

Dim x,y,z As String

Dim nome As Double

Dim teste1, teste2 As Integer

 

O tipo determina quais dados podem ser armazenados em cada uma das variáveis, ou seja, variáveis que armazenam valores numéricos não devem aceitar caracteres de texto, variáveis que armazenam datas não devem aceitar datas inválidas e assim por diante. Toda variável no VBA é do tipo Variant, isto significa que a variável pode ser de qualquer tipo. O que define o tipo da variável é o valor armazenado no momento. Entretanto, existem Funções de conversão de tipo, conforme veremos mais adiante.

Também podemos utilizar variáveis que não foram explicitamente declaradas com o comando Dim. Com isso, a variável é criada na memória no momento da sua utilização.

Já para criar uma obrigatoriedade de declaração de variáveis, usamos o comando Option Explicit na seção de declaração do Módulo.

 

Ao escrevermos esse comando na seção de declaração do Módulo, estamos definindo que toda variável deve ser declarada nesta seção antes de ser utilizada em uma expressão. Neste caso, se tentarmos utilizar uma variável não declarada, o VBA mostrará uma mensagem de erro de compilação e suspenderá a execução dos comandos. No código abaixo, temos um exemplo simples de utilização de variáveis não declaradas explicitamente.

 

Option Explicit

Sub Teste_Declaração()

Dim a As Integer

Dim b As Integer

a = 5

b = 2

c = a + b

MsgBox “A variável c vale: ” & c

End Sub

Ao tentarmos executar este código, com Option Explicit na seção de declaração do Módulo (primeira linha escrita no Módulo), obteremos a mensagem de erro indicada na próxima figura, que mostra que tentamos utilizar a variável c que não foi declarada.

Bom, para finalizar, vou dar alguns exemplos dos tipos de dados que essas variáveis podem assumir…

O tipo Variant é formado por pequenas unidades chamadas subtipos, que identificam a maneira como os dados são armazenados em uma variável deste tipo. Assim, variáveis do subtipo Integer são armazenadas de maneira diferente das variáveis do subtipo Long. A tabela a seguir mostra alguns dos principais subtipos existentes.

Abs, Dr. E

P.S. Gostaria de pedir desculpas, mas infelizmente não estou conseguindo responder todos os e-mails com dúvidas que venho recebendo. Por isso, peço que não usem o espaço de comentários do post para enviar dúvidas.

Uma resposta

  1. Muito bom seu tutorial, dei inicio a minha aventura no mundo VBA.
    Um abraço.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s