Función VBA VARTYPE

Función VarType de Excel VBA

VBA VARTYPE significa "Tipo de variable". Esta función nos ayuda a identificar el tipo de datos asignado a la variable específica o, en palabras simples, podemos decir que encuentra qué tipo de valor se almacena o se asigna a la variable.

Sintaxis

VarName: solo necesitamos proporcionar el nombre de la variable para encontrar los datos almacenados en el nombre de la variable proporcionado.

Entonces, toma el nombre de la variable como sintaxis o argumento y en la salida, devuelve el tipo de datos asignado a la variable o el tipo de datos almacenados en la variable.

Entonces, si alguna vez se ha preguntado cómo encontrar el tipo de datos de la variable o el tipo de datos asignados a la variable, aquí tenemos una función de VBA “VarType”.

Ejemplos

Puede descargar esta plantilla de Excel VBA VARTYPE aquí - Plantilla de Excel VBA VARTYPE

Ejemplo 1

En VBA, mientras escribimos el código, generalmente declaramos variables y les asignamos un tipo de datos. Para ver un ejemplo, mire el siguiente código VBA.

Código:

 Sub VarType_Example () Dim MyVar As String MyVar = "Hola" End Sub 

En el ejemplo anterior, hemos declarado la variable como "Cadena" y para esta cadena, hemos asignado el valor como "Hola".

Este es un caso sencillo pero también es posible declarar las variables sin asignarles las variables, por lo que en tales casos, la función VarType nos ayuda.

Código:

 Sub VarType_Example () Dim MyVar MyVar = "Hola" End Sub 

En el código anterior no hemos asignado ningún tipo de datos, pero de inmediato asignamos el valor como "Hola", por lo que utilizando la función VarType podemos encontrar el tipo de datos de la variable.

Abra MSGBOX en la codificación VBA en el código anterior.

Luego abra la función VarType.

Ahora ingrese el nombre de la variable como argumento de la función VARTYPE.

Código:

 Sub VarType_Example () Dim MyVar MyVar = "Hola" MsgBox VarType (MyVar) End Sub 

Ahora ejecute el código y vea lo que aparece en el cuadro de mensaje.

Obtuvimos el resultado como 8 porque VBA tiene ciertos códigos para cada tipo de tipo de datos variables, por lo que a continuación se muestra la lista detallada para usted.

ValorConstanteDescripción
0vbEmptyLa variable aún no está inicializada
1vbNullSe asignan datos no válidos
2vbIntegerEl valor de la variable es el tipo de datos "Entero"
3vbLongEl valor de la variable es el tipo de datos "Long"
4vbSingleEl valor de la variable es el tipo de datos "Único"
5vbDoubleEl valor de la variable es el tipo de datos "Doble"
6vbCurrencyEl valor de la variable es el tipo de datos "Moneda"
7vbDateEl valor de la variable es el tipo de datos "Fecha"
8vbStringEl valor de la variable es el tipo de datos "Cadena"
9vbObjectEl valor de la variable es el tipo de datos "Objeto"
10vbErrorEl valor de la variable es Valor de error
11vbBooleanEl valor de la variable es el tipo de datos "booleano"
12vbVariantEl valor de la variable es el tipo de datos "Variante" (se usa solo con matrices de variantes)
13vbDataObjectEl valor de la variable es el objeto de acceso a datos
14vbDecimalEl valor de la variable es el tipo de datos "Decimal"
17vbByteEl valor de la variable es el tipo de datos "Byte"
20vbLongLongEl valor de la variable es del tipo de datos "LONG LONG" (válido solo en plataformas de 64 bits)
36vbUserDefinedTypeEl valor de la variable es el tipo de datos "Definido por el usuario"
8192vbArrayEl valor de la variable es Array

Bien, ahora nuestro código ha vuelto a sintonizar el tipo de datos de la variable como 8, es decir, el nombre de la variable "MyVar" contiene el tipo de datos "String".

Ejemplo # 2

Ahora, mire el siguiente código.

Código:

 Sub VarType_Example2 () Dim MyVar Set MyVar = ThisWorkbook MsgBox VarType (MyVar) End Sub 

Ejecutemos este código y veamos cuál es el resultado.

El resultado es 9, es decir, la variable contiene el tipo de datos "Objeto". Sí, esto es correcto porque para la variable "MyVar" hemos establecido la referencia del libro de trabajo de "Este libro".

Ejemplo # 3

Ahora, mire el siguiente código.

Código:

 Sub VarType_Example3 () Dim MyVar MyVar = 32500 MsgBox VarType (MyVar) End Sub 

Esto devolverá el resultado como 2.

Porque el número 32500 que se asigna a la variable es un valor "Entero".

Ahora cambiaré el valor a 40000 y veré el resultado.

Código:

 Sub VarType_Example4 () Dim MyVar MyVar = 40000 MsgBox VarType (MyVar) End Sub 

Esto dará el resultado como 3.

Debido a que el valor Integer termina en 32767, cualquier cosa por encima de eso se tratará como un tipo de datos VBA LONG.

Ahora incluiré el número entre comillas dobles.

Código:

 Sub VarType_Example5 () Dim MyVar MyVar = "40000" MsgBox VarType (MyVar) End Sub 

Ejecute el código y vea el resultado.

Obtuvimos el resultado como 8, es decir, tipo de datos String.

Esto se debe a que todo lo que se proporcione entre paréntesis se tratará como una variable de cadena.

Cosas para recordar

  • VARTYPE significa "Tipo variable".
  • El tipo de datos está representado por números únicos, así que consulte la tabla para comprender qué número representa qué tipo de datos de variable.