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 VARTYPEEjemplo 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.
Valor | Constante | Descripción | ||
0 | vbEmpty | La variable aún no está inicializada | ||
1 | vbNull | Se asignan datos no válidos | ||
2 | vbInteger | El valor de la variable es el tipo de datos "Entero" | ||
3 | vbLong | El valor de la variable es el tipo de datos "Long" | ||
4 | vbSingle | El valor de la variable es el tipo de datos "Único" | ||
5 | vbDouble | El valor de la variable es el tipo de datos "Doble" | ||
6 | vbCurrency | El valor de la variable es el tipo de datos "Moneda" | ||
7 | vbDate | El valor de la variable es el tipo de datos "Fecha" | ||
8 | vbString | El valor de la variable es el tipo de datos "Cadena" | ||
9 | vbObject | El valor de la variable es el tipo de datos "Objeto" | ||
10 | vbError | El valor de la variable es Valor de error | ||
11 | vbBoolean | El valor de la variable es el tipo de datos "booleano" | ||
12 | vbVariant | El valor de la variable es el tipo de datos "Variante" (se usa solo con matrices de variantes) | ||
13 | vbDataObject | El valor de la variable es el objeto de acceso a datos | ||
14 | vbDecimal | El valor de la variable es el tipo de datos "Decimal" | ||
17 | vbByte | El valor de la variable es el tipo de datos "Byte" | ||
20 | vbLongLong | El valor de la variable es del tipo de datos "LONG LONG" (válido solo en plataformas de 64 bits) | ||
36 | vbUserDefinedType | El valor de la variable es el tipo de datos "Definido por el usuario" | ||
8192 | vbArray | El 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.