VarType (función)

Devuelve un entero que indica el subtipo de una variable o el tipo de la propiedad predeterminada de un objeto.

Sintaxis

VarType(varname)

El argumentovarname necesario es un variant que contiene cualquier variable excepto una variable de un tipo definido por el usuario.

Valores devueltos

Se devuelve una de las constantes siguientes o la suma de un número de ellas.

Constante Valor Descripción
vbEmpty 0 Empty (no inicializado)
vbNull 1 Null (datos no válidos)
vbInteger 2 Integer
vbLong 3 Entero largo
vbSingle 4 Número de punto flotante de precisión sencilla
vbDouble 5 Número de punto flotante de doble precisión
vbCurrency 6 Valor de divisa
vbDate 7 Valor de fecha
vbString 8 Cadena
vbObject 9 Objeto
vbError 10 Valor de error
vbBoolean 11 Valor booleano
vbVariant 12 Variante (usado solo con matrices de variantes)
vbDataObject 13 Un objeto de acceso a datos
vbDecimal 14 Valor decimal
vbByte 17 Valor de bytes
vbLongLong 20 Entero longlong (válido solo en plataformas de 64 bits)
vbUserDefinedType 36 Variantes que contienen tipos definidos por el usuario
vbArray 8192 Matriz (siempre agregada a otra constante cuando la devuelve esta función)

Nota:

Estas constantes están especificadas por Visual Basic para aplicaciones. Los nombres se pueden usar en cualquier parte del código en lugar de los valores reales.

Comentarios

Si se pasa un objeto y tiene una propiedad predeterminada, VarType(object) devuelve el tipo de la propiedad predeterminada del objeto.

La función VarType nunca devuelve el valor para vbArray por sí mismo. Siempre se agrega a otro valor para indicar una matriz de un tipo determinado. Por ejemplo, el valor devuelto para una matriz de enteros se calcula como vbInteger + vbArray o 8194.

La constante vbVariant solo se devuelve junto con vbArray para indicar que el argumento de la función VarType es una matriz de tipo Variant.

Ejemplo:

En este ejemplo se usa la función VarType para determinar los subtipos de variables diferentes y, en un caso, el tipo de la propiedad predeterminada de un 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`.

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.