Função VBA VARTYPE - Como encontrar o tipo de variável de dados?

Função VarType do Excel VBA

VBA VARTYPE significa “Tipo de variável”. Esta função nos ajuda a identificar o tipo de dado atribuído à variável específica ou, em palavras simples, podemos dizer que encontra que tipo de valor é armazenado ou atribuído à variável.

Sintaxe

VarName: Precisamos apenas fornecer o nome da variável para encontrar os dados armazenados no nome da variável fornecida.

Portanto, ele recebe o nome da variável como sintaxe ou argumento e, na saída, retorna o tipo de dados atribuído à variável ou o tipo de dados armazenados na variável.

Então, se você já se perguntou como encontrar o tipo de dados da variável ou o tipo de dados atribuídos à variável, aqui temos uma função VBA “VarType”.

Exemplos

Exemplo 1

No VBA, ao escrever o código, geralmente declaramos variáveis ​​e atribuímos um tipo de dados a elas. Por exemplo, observe o código VBA abaixo.

Código:

Sub VarType_Example () Dim MyVar As String MyVar = "Hello" End Sub

No exemplo acima, declaramos a variável como "String" e, para essa string, atribuímos o valor como "Hello".

Este é um caso simples, mas também é possível declarar as variáveis ​​sem atribuir as variáveis ​​a elas, então, nesses casos, a função VarType nos ajuda.

Código:

Sub VarType_Example () Dim MyVar MyVar = "Hello" End Sub

No código acima, não atribuímos nenhum tipo de dados, mas atribuímos imediatamente o valor como “Hello”, portanto, usando a função VarType, podemos encontrar o tipo de dados da variável.

Abra o MSGBOX na codificação VBA no código acima.

Em seguida, abra a função VarType.

Agora insira o nome da variável como o argumento da função VARTYPE.

Código:

Sub VarType_Example () Dim MyVar MyVar = "Olá" MsgBox VarType (MyVar) End Sub

Agora execute o código e veja o que temos na caixa de mensagem.

Obtivemos o resultado 8 porque o VBA tem certos códigos para cada tipo de tipo de dado variável, portanto, abaixo está a lista detalhada para você.

Valor Constante Descrição
0 vbEmpty A variável ainda não foi inicializada
1 vbNull Dados inválidos atribuídos
2 vbInteger O valor da variável é do tipo de dados “Inteiro”
3 vbLong O valor da variável é o tipo de dados “Longo”
4 vbSingle O valor da variável é o tipo de dados “Único”
5 vbDouble O valor da variável é o tipo de dados “Duplo”
6 vbCurrency O valor da variável é o tipo de dados “Moeda”
7 vbDate O valor da variável é o tipo de dados “Data”
8 vbString O valor da variável é o tipo de dados “String”
9 vbObject O valor da variável é o tipo de dados “Objeto”
10 vbError O valor da variável é Error Value
11 vbBoolean O valor da variável é o tipo de dados “Booleano”
12 vbVariant O valor da variável é o tipo de dados “Variante” (usado apenas com matrizes de variantes)
13 vbDataObject O valor da variável é o objeto de acesso a dados
14 vbDecimal O valor da variável é o tipo de dados “Decimal”
17 vbByte O valor da variável é o tipo de dados “Byte”
20 vbLongLong O valor da variável é o tipo de dados “LONG LONG” (válido apenas em plataformas de 64 bits)
36 vbUserDefinedType O valor da variável é o tipo de dados “Definido pelo usuário”
8192 vbArray O valor da variável é Array.

Ok, agora nosso código ajustou novamente o tipo de dados da variável como 8, ou seja, o nome da variável “MyVar” contém o tipo de dados “String”.

Exemplo # 2

Agora, olhe para o código abaixo.

Código:

Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub

Vamos executar este código e ver qual é o resultado.

O resultado é 9, ou seja, a variável continha o tipo de dados “Objeto”. Sim, está correto porque, para a variável “MyVar”, definimos a referência da pasta de trabalho “Esta pasta de trabalho”.

Exemplo # 3

Agora, olhe para o código abaixo.

Código:

Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub

Isso retornará o resultado como 2.

Porque o número 32500, que é atribuído à variável, é um valor “Inteiro”.

Agora vou alterar o valor para 40000 e ver o resultado.

Código:

Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub

Isso dará o resultado como 3.

Como o valor inteiro está terminando em 32767, qualquer coisa acima disso será tratada como um tipo de dados VBA LONG.

Agora vou colocar o número entre aspas duplas.

Código:

Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub

Execute o código e veja o resultado.

Obtivemos o resultado como 8, ou seja, tipo de dados String.

Isso ocorre porque qualquer coisa fornecida entre parênteses será tratada como uma variável String.

Coisas para lembrar

  • VARTYPE significa “Tipo de Variável”.
  • O tipo de dados é representado por números exclusivos, portanto, consulte a tabela para entender qual número representa qual tipo de dado variável.

Artigos interessantes...