0207-Dica VBA: Funções VarType e TypeName

Quando o valor retornado para uma variável depende do contexto no qual o código é executado, precisamos muitas vezes, determinar qual o conteúdo antes de seguirmos adiante com o processamento.
A função VarType retorna um código numérico relacionado ao tipo de valor armazenado.
Já a função TypeName retorna um String com a descrição do tipo de valor contido na variável.
O código a seguir, compara os resultados utilizando as duas funções que são aplicadas sobre um conjunto de variáveis transferindo-os em seguida para a planilha ativa.

Option Base 1
Sub TiposdeVariaveis()
a = 1
b = Cells.Rows.Count
c = "Texto"
d = True
e = 6.02E+23
f = Now

Set h = Nothing
Set i = ActiveSheet
Set j = i.Parent

Var = Array(a, b, c, d, e, f, g, h, i, j)

With i
.Cells(1, 1) = "Variável"
.Cells(1, 2) = "Tipo"
.Cells(1, 3) = "Código"

For k = LBound(Var) To UBound(Var)
.Cells(k, 1) = Chr(k + 96)
.Cells(k, 2) = TypeName(Var(k))
.Cells(k, 3) = VarType(Var(k))
Next k
End With
End Sub

Observem que, enquanto TypeName retorna os diferentes tipos de conteúdos de variáveis objeto, TypeVar retorna o mesmo código numérico:

0207_01

Conhecendo qual o tipo de conteúdo, podemos utilizar instruções If ou Select Case para determinar as etapas seguintes a serem executadas, dependendo do retorno obtido.

Anúncios

In Excel We Trust

Marcado com: , , ,
Publicado em Nível: Avançado

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

%d blogueiros gostam disto: