Função VarType

Devolve um Número Inteiro que indica o subtipo de uma variável ou o tipo de propriedade predefinida de um objeto.

Sintaxe

VarType(varname)

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

Valores de retorno

É devolvida uma das seguintes constantes ou a soma de várias delas.

Constant Valor Descrição
vbEmpty 0 Vazio (não inicializado)
vbNull 1 Nulo (sem dados válidos)
vbInteger 2 Integer
vbLong 3 Número inteiro longo
vbSingle 4 Número de vírgula flutuante de precisão única
vbDouble 5 Número de vírgula 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 do erro
vbBoolean 11 Valor booleano
vbVariant 12 Variante (utilizada apenas com matrizes de variantes)
vbDataObject 13 Um objeto de acesso a dados
vbDecimal 14 Valor decimal
vbByte 17 Valor de byte
vbLongLong 20 Número inteiro LongLong (válido apenas em plataformas de 64 bits)
vbUserDefinedType 36 Variantes que contêm tipos definidos pelo utilizador
vbArray 8192 Matriz (sempre adicionada a outra constante quando devolvida por esta função)

Observação

Essas constants são especificadas pelo Visual Basic for Applications. Os nomes podem ser utilizados em qualquer parte do seu código em vez dos valores reais.

Comentários

Se um objeto for transmitido e tiver uma propriedade predefinida, VarType(objeto) devolve o tipo de propriedade predefinida do objeto.

A função VarType nunca devolve o valor para vbArray por si só. É sempre adicionado a outro valor para indicar uma matriz de um determinado tipo. Por exemplo, o valor devolvido para uma matriz de números inteiros é calculado como vbInteger + vbArray ou 8194.

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

Exemplo

Este exemplo utiliza a função VarType para determinar os subtipos de variáveis diferentes e, num caso, o tipo de propriedade predefinida 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.