0206- Dica VBA: Declarando variáveis

Declarar variáveis corretamente é importante por que:
– Reservamos a quantidade de memória necessária para armazenamento de dados durante a execução dos códigos,
– Durante a fase de construção dos códigos, controlamos adequadamente as variáveis utilizadas;
– Definimos o ciclo de vida (tempo de duração) e o nível de escopo de uma variável (em que procedimentos e módulos poderá ser utilizada)

Normalmente utilizamos uma instrução Dim. Uma instrução de declaração pode ser colocada dentro de um procedimento para criar uma variável de nível de procedimento. Ou ela pode ser colocada na parte superior de um módulo, na seção Declarações, para criar uma variável de nível de módulo.

Se declararmos uma variável no início de um módulo, antes de escrevermos nossos códigos, essa variável tem sua existência no nível de módulo. Em outras palavras, ela poderá ser utilizada em qualquer dos procedimentos deste módulo. A variável manterá seu valor ao término da execução do procedimento e poderá ser utilizada, com esse valor, a partir de outros procedimentos do módulo.

Uma variável também poderá ser utilizada em todo o projeto (diferentes módulos), para isso, ao invés de usarmos a declaração Dim, lançamos mão da declaração Public.

Para explicitar que uma variável deve ser válida apenas no nível do módulo, embora possamos utilizar Dim, é uma boa prática utilizarmos a declaração Private, deixando claro o intuito do programador.

No nível de módulo, podemos utilizar a instrução Option Explicit para que sejamos obrigados a declarar todas as variáveis deste módulo antes que possam ser utilizadas.

Vejamos exemplos num código:

'-------------------------------------------------------------
'DECLARAÇÃO DE VARIÁVEIS - NÍVEL DE MÓDULO
'-------------------------------------------------------------

Option Explicit

'Utilizar Option Explicit, obriga-nos a declarar todas as
'variáveis do módulo antes podermos utilizá-las

Dim i       As Integer
Private j   As Integer

Public m    As Integer

'-------------------------------------------------------------
'A declação Option Explicit obriga-nos a declarar quaisquer
'variáveis a serem utilizadas em procedimentos
'
'As variáveis i e j estarão disponíveis para todos os
'procedimentos deste módulo
'
'
'A variável m estará disponível para outros módulos deste
'projeto
'-------------------------------------------------------------

Sub Exemplo1()
'Declaração no nível de procedimento
Dim k As Integer

k = 0
For i = 1 To 10
    For j = 1 To 10
    ActiveSheet.Cells(i, j) = (-1) ^ (i + j)
    k = k + 1
    Next j
Next i
End Sub

Sub Exemplo2()
'Exibir os valores da variáveis k e i

MsgBox "k: " & k & vbLf & "i: " & i
End Sub

Executando o Exemplo2, veremos que não há valor armazenado na variável k (por que ela foi declarada apenas do procedimento Exemplo1). Já a variável i mostrará o valor 11, por que ela foi declarada no nível de módulo, e, mesmo após a conclusão do procedimento anterior, o valor fica disponível para os outros procedimentos deste módulo.

Normalmente declaramos cada variável em linhas separadas, mas é possível declarar múltiplas variáveis numa única linha.

Podemos escrever assim:

Dim i As Integer
Dim j As Integer
Dim k As Integer

Ou assim:

Dim i As Integer, j As Integer,  k As Integer

Mas cuidado:

Dim i, j ,  k As Integer

No caso acima, apenas a variável k é um Inteiro. As variáveis i e j serão do tipo Variant

Anúncios

In Excel We Trust

Marcado com: , , ,
Publicado em Nível: Avançado
Um comentário em “0206- Dica VBA: Declarando variáveis
  1. Rodrigo Mizumoto disse:

    Excelente artigo! Estou aprendendo vba e estas explicações foram muito úteis!

Deixe um comentário

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

Visitas dos usuários
  • 2,074,858

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.536 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: