Função VarType

Retorna um Inteiro indicando o subtipo de uma variável ou o tipo da propriedade padrão de um objeto.

Sintaxe

VarType(varname)

O argumentovarname necessário é uma Variant que contém qualquer variável, exceto uma variável de um tipo definido pelo usuário.

Valores de retorno

Uma das constantes a seguir ou a soma de várias delas é retornada.

Constant Valor Descrição
vbEmpty 0 Vazio (não diferenciado)
vbNull 1 Nulo (sem dados válidos)
vbInteger 2 Integer
vbLong 3 Inteiro longo
vbSingle 4 Número de ponto flutuante de precisão única
vbDouble 5 Número de ponto flutuante de precisão dupla
vbCurrency 6 Conversor de Moedas valor
vbDate 7 Valor da data
vbString 8 String
vbObject 9 Objeto
vbError 10 Valor de erro
vbBoolean 11 Valor booliano
vbVariant 12 Variant (usada apenas com matrizes de variantes)
vbDataObject 13 Um objeto de acesso a dados
vbDecimal 14 Valor decimal
vbByte 17 Valor byte
vbLongLong 20 Inteiro LongLong (válido somente em plataformas de 64 bits)
vbUserDefinedType 36 Variantes que contêm tipos definidos pelo usuário
Vbarray 8192 Matriz (sempre adicionada a outra constante quando retornada por essa função)

Observação

Essas constants são especificadas pelo Visual Basic for Applications. Os nomes podem ser usados em qualquer lugar do código no lugar dos valores reais.

Comentários

Se um objeto for passado e tiver uma propriedade padrão, VarType(object) retornará o tipo da propriedade padrão do objeto.

A função VarType nunca retorna o valor para vbArray por si só. Ele sempre é adicionado a algum outro valor para indicar uma matriz de um tipo específico. Por exemplo, o valor retornado para uma matriz de inteiros é calculado como vbInteger + vbArray ou 8194.

O vbVariant constante só é retornado em conjunto com vbArray para indicar que o argumento para a função VarType é uma matriz do tipo Variant.

Exemplo

Este exemplo usa a função VarType para determinar os subtipos de diferentes variáveis e, em um caso, o tipo da propriedade padrão de um objeto.

Dim MyCheck
Dim IntVar, StrVar, DateVar, AppVar, ArrayVar
' Initialize variables.
IntVar = 459: StrVar = "Hello World": DateVar = #2/12/1969#
Set AppVar = Excel.Application
ArrayVar = Array("1st Element", "2nd Element")
' Run VarType function on different types.
MyCheck = VarType(IntVar)   ' Returns 2.
MyCheck = VarType(DateVar)  ' Returns 7.
MyCheck = VarType(StrVar)   ' Returns 8.
MyCheck = VarType(AppVar)   ' Returns 8 (vbString)
                            ' even though AppVar is an object.
MyCheck = VarType(ArrayVar) ' Returns 8204 which is
                            ' `8192 + 12`, the computation of
                            ' `vbArray + vbVariant`.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.