Função VBA VARTYPE

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.

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

Portanto, 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

Você pode baixar este modelo VBA VARTYPE Excel aqui - modelo VBA VARTYPE Excel

Exemplo 1

No VBA, ao escrever o código, geralmente declaramos variáveis ​​e atribuímos um tipo de dados a elas. Para obter um exemplo, veja 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 esta string atribuímos o valor como “Hello”.

Este é um caso direto, 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 como 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ê.

ValorConstanteDescrição
0vbEmptyA variável ainda não foi inicializada
1vbNullDados inválidos atribuídos
2vbIntegerO valor da variável é o tipo de dados “Inteiro”
3vbLongO valor da variável é o tipo de dados “Longo”
4vbSingleO valor da variável é o tipo de dados “Único”
5vbDoubleO valor da variável é o tipo de dados “Duplo”
6vbCurrencyO valor da variável é o tipo de dados “Moeda”
7vbDateO valor da variável é o tipo de dados “Data”
8vbStringO valor da variável é o tipo de dados “String”
9vbObjectO valor da variável é o tipo de dados “Objeto”
10vbErrorO valor da variável é Error Value
11vbBooleanO valor da variável é o tipo de dados “Booleano”
12vbVariantO valor da variável é o tipo de dados “Variante” (usado apenas com matrizes de variantes)
13vbDataObjectO valor da variável é o objeto de acesso a dados
14vbDecimalO valor da variável é o tipo de dados “decimal”
17vbByteO valor da variável é o tipo de dados “Byte”
20vbLongLongO valor da variável é o tipo de dados “LONG LONG” (válido apenas em plataformas de 64 bits)
36vbUserDefinedTypeO valor da variável é o tipo de dados “Definido pelo usuário”
8192vbArrayO 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, isto é, 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.

Obtemos 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 dados variável.