Cavalcante Consultores > Biblioteca de Excel > Declarando variáveis
Variáveis são espaços na memória do computador reservados para armazenar valores. Estes valores podem variar à medida que o código VBA é executado,sendo por esta razão chamadas de variáveis.
Ao declarar variáveis você evita erros de digitação e conflitos de nomenclatura, uma vez que estas variáveis serão utilizadas ao longo do código desenvolvido. Outra razão para declarar variáveis, é que as variáveis não declaradas explicitamente assumem tipo Variant, que geralmente exigem mais recursos de memória. Dessa forma, o seu aplicativo será mais eficiente se você declarar as variáveis explicitamente e com um tipo de dados específico.
Uma variável declarada dentro de um módulo (mas fora de qualquer procedimento) pode ser utilizada dentro de qualquer procedimento e função daquele módulo. Em nível de módulo, utilize a instrução Private para declarar variáveis privadas.
Uma variável declarada dentro de um procedimento, só pode ser utilizada no procedimento. Uma variável declarada dentro de uma função, só pode ser utilizada na função. Neste caso, utilize a instrução Dim para declarar variáveis em nível de procedimento.
Uma variável pública pode ser utilizada em todos os procedimentos, funções e em qualquer módulo. Para declarar variáveis públicas, utilize a instrução Public.
Private [nome] As [tipo]
Public [nome] As [tipo]
nome é o nome que você atribui a variável.
tipo é o tipo da variável que pode ser: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String, Object, ou Variant.
Você pode declarar inúmeras variáveis em uma mesma instrução, no entanto deverá especificar o tipo para cada variável declarada.
Uso correto: Dim X As Integer, Y As Integer, Z As Integer.
Uso errado: Dim X, Y, Z As Integer (aqui apenas a variável Z será do tipo Integer, X e Y assumirá o tipo Variant).
Caso você não declare o tipo, será atribuído o tipo Variant, o que significa que a variável poderá conter qualquer valor. À primeira vista, pode parecer interessante não declarar o tipo da variável, porém não é muito aconselhável, já que neste caso uma variável numérica poderá conter um valor de texto, ou vice-versa, o que pode causar inconsistência de dados e erros na execução do código.
Boolean: podem assumir dois valores: True ou False (Verdadeiro [1] ou Falso[0]).
Byte: podem assumir valores entre 0 e 255.
Integer: podem assumir valores entre -32768 e 32767.
Long: podem assumir valores entre -2.147.483.648 e 2.147.483.647.
Currency: podem assumir valores entre -923.337.203.685.447,5808 e 922.337.203.685.447,5807. É útil para cálculos que envolvem dinheiro e cálculos com precisão até a quarta casa decimal.
Single: podem assumir valores de -3,40E38 até -1,40E-45 (negativos) e de 1,40E-45 até 3,40E38 (positivos).
Double: podem assumir valores de -1,79E308 até -4,94E-324 (negativos) e de 4,94E-324 até 1,79E308 (positivos).
Date: podem armazenar datas (ano, mês, dia, hora) em forma numérica.
String: podem armazenar texto com até 2 bilhões de caracteres.
Object: podem armazenar endereços que se referem a objetos.
Variant: tipo genérico.
Neste exemplo vamos testar se um número digitado é par ou impar. Para isso foram criadas três variáveis:
testnum - variável pública (Public) do tipo Boolean.
numero – variável de procedimento (Dim) do tipo Byte.
resposta – variável de módulo (Private) do tipo String.
Observe que a variável pública testnum foi declarada no Módulo1, e foi usada nos Módulo1 e Módulo2. A variável de módulo resposta foi declarada fora de qualquer procedimento no Módulo2. A variável de procedimento numero foi declarada dentro do procedimento parimpar no Módulo1.