En VBA existen una gran cantidad de variables. Aquí repasaremos los principales tipos y su alcance de manera no exhaustiva… tampoco hace falta sabérselo todo desde el principio ¿no?
Principales tipos de variables en VBA
Tipo entero
Para una variable numérica de valores de -32768 a 32767.
Para ello usaremos el código
Dim NombreVariable as Integer
Si tenemos almacenado un valor con algún tipo de variable que no sea de tipo Integer podremos convertirlo a Integer mediante el comando CInt. En la siguiente línea podemos ver el uso de este comando con un ejemplo sencillo.
Sub Convertir_a_integer() n = 9.56 MsgBox CInt(n) End Sub
El mensaje en pantalla devolverá el valor de 10, es decir, el redondeo del valor de la variable n.
Tipo Long
El tipo long de variable es para valores enteros positivos o negativos pero con la diferencia de que puede almacenar valores mucho mayores, en concreto entre -2.147.483.648 y 2.147.483.648. La sintaxis de este tipo de variables es:
Dim NombreVariable as Long
Si queremos convertir un valor a tipo Long usaremos el método CLng(). En el ejemplo siguiente, vamos a convertir un número decimal muy grande en una variable tipo Long.
Sub Convertir_a_Long() n = 100000000.53 MsgBox CLng(n) End Sub
Tipo Single
Para almacenar valores numéricos decimales aunque si requerimos una mayor precisión, usaremos variables tipo Double.
El código para declarar variables tipo Single es:
Dim NombreVariable as Single
Si, como en los casos anteriores, queremos convertir una variable a tipo Single usaremos el método CSng() como vemos en el siguiente ejemplo:
Sub Convertir_a_Single() n = 120.534253231 MsgBox CSng(n) End Sub
Tipo String
Para almacenar valores de cadenas de texto, es decir, uniones de cualquier tipo de caracter ya sea numérico o no numérico.
El código para declarar este tipo de variables es:
Dim NombreVariable as String
Para asignar el valor a este tipo de variables deberemos poner la cadena de texto (o de los caracteres que sean) entre comillas como puede verse en el siguiente ejemplo:
Sub Ejemplo() Dim Nombre_pais As String Nombre_pais= "Brasil" End Sub
Si tenemos un valor que no es tipo String, podremos convertirlo mediante el métido CStr() como puede verse en el siguiente ejemplo en el que la variable n almacena un número.
Sub Convertir_a_String() Dim st As String n = 53 st = CStr(n) End Sub
El resultado del código anterior guardará en la variable st el valor de 53 como tipo String.
Tipo Verdadero o Falso
Nos permite almacenar valores de variables del tipo verdadero o falso.
El código para su declaración es:
Dim NombreVariable as Boolean
Tipo Variant
Este tipo nos permite almacenar cualquier tipo de información ya sea numérica, de texto o del tipo verdadero o falso o cualquier otro que se nos ocurra. En definitiva, cuando no sabemos qué tipo de variable va a tener usaremos el tipo Variant, donde entran todos los tipos posibles. El inconveniente es que ocupa una gran cantidad de memoria.
El código para su declaración es:
Dim NombreVariable as Variant
Estos son los tipos de variables que usaremos con más frecuencia. Hay otro tipo de variables como los de fecha y hora pero no son tan comúnmente usados.