VBA VarType

Este artículo demostrará el uso de la función VarType en VBA.

VarType significa tipo de variable. Podemos proporcionar el nombre de la variable a la función VarType, y devolverá un número entero que representa el tipo de datos almacenados en esa variable de acuerdo con una lista de constantes de VBA.

Usar una variable variante para encontrar el VarType

Podemos declarar una variable como variable Variant. Esto nos permitirá almacenar en él cualquier tipo de datos permitidos. Luego podemos completar esta variable y usar la función VarType para ver qué tipo de datos hay en la variable.

Por ejemplo:

12345 Sub TestVarType ()Atenuar MyVariable como varianteMyVariable = "Hola mundo"MsgBox "El tipo de variable es" & VarType (MyVariable)End Sub

Esto devolverá el siguiente cuadro de mensaje:

Por tanto, se devuelve el valor de 8. Esto en una constante de Excel que define el tipo de datos que se almacenan en la variable.

Este valor constante corresponde a la siguiente tabla:

Constante Valor Descripción
vbEmpty 0 Vacío (sin inicializar)
vbNull 1 Nulo (sin datos válidos)
vbInteger 2 Entero
vbLong 3 Entero largo
vbSingle 4 Número de punto flotante de precisión simple
vbDouble 5 Número de coma flotante de doble precisión
vbCurrency 6 Valor de moneda
vbDate 7 Valor de la fecha
vbString 8 Cuerda
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 byte
vbLongLong 20 Entero LongLong (válido solo en plataformas de 64 bits)
vbUserDefinedType 36 Variantes que contienen tipos definidos por el usuario
vbArray 8192 Array (siempre se agrega a otra constante cuando esta función lo devuelve)

Podemos probar con otro ejemplo:

12345 Sub TestVarType ()Atenuar MyVariable como varianteMyVariable = 32760MsgBox "El tipo de variable es" & VarType (MyVariable)End Sub

Esta vez, el cuadro de mensaje devolverá un 2 ya que el tipo de datos que se almacena en la variable es Integer.

Sin embargo, si cambiamos el valor a 32780, entonces el valor devuelto será 3 - Entero largo ya que un tipo de datos Entero tiene un valor máximo de 32767; después de lo cual es un entero largo.

Si tuviéramos que modificar el código una vez más:

12345 Sub TestVarType ()Atenuar MyVariable como varianteMyVariable = 32760.52MsgBox "El tipo de variable es" & VarType (MyVariable)End Sub

Ahora obtendríamos un valor de 5 que se devuelve; el tipo de datos es Doble debido a los lugares decimales.

Si pusiéramos el valor de la variable entre comillas, una vez más se devolvería un 8, ya que cualquier valor contenido entre comillas se almacena como un valor de cadena.

12345 Sub TestVarType ()Atenuar MyVariable como varianteMyVariable = "32760.52"MsgBox "El tipo de variable es" & VarType (MyVariable)End Sub

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave