Una variable es un nombre que sirve para guardar algún dato de forma temporal para que sea utilizado por un procedimiento, módulo o libro.
Hoy te mostraré los diferentes tipos de datos que puedes guardar en una variable de VBA pero antes, déjame que te dé algunos consejos a la hora de darle un nombre a una variable:
- El nombre de la variable debe comenzar con una letra o con un guion bajo (_). A partir del segundo caracter ya puedes utilizar números y guiones normales (-).
- La longitud del nombre de una variable no puede exceder los 250 caracteres.
- Por supuesto, no puedes nombrar a una variable como alguna palabra reservada por Excel o VBA. Por ejemplo, no será posible utilizar nombres como Workbook o Range.
- No puedes utilizar espacios en los nombres de variables. Si quieres separar dos palabras dentro del nombre, utiliza la primera letra de cada una en mayúsculas (BorrarRango), o sepáralas con guiones bajos (borrar_rango).
Puedes darle el nombre válido que quieras a una variable, pero te recomiendo que utilices la siguiente convención. Te ayudará a identificar el tipo de dato en cada punto del código.
Tipo de dato | Prefijo | Ejemplo |
---|---|---|
Boolean | bln | blnRespuesta |
Byte | byt | bytMatricula |
Collection object | col | colHojasLibro |
Currency | cur | curVentas |
Date (Time) | dtm | dtmDiaMes |
Double | dbl | dblTolerancia |
Error | err | errPedidoError |
Integer | int | intCantidad |
Long | lng | lngDistanciaRecorrida |
Object | obj | objLibros |
Single | sng | sngPromedioVenta |
String | str | strNombreProducto |
Definida por el usuario | udt | udtEmpleado |
Variant | vnt | vntSumaCantidades |
Como ves, los prefijos de la tabla se encuentran en inglés. Intenta utilizarlos en este idioma, ya que se trata de una convención internacional y, si tuvieses que revisar el código escrito por otra persona, lo tendrías mucho más fácil.
Imagina que te encuentras programando una gran aplicación con VBA y tienes una variable llamada Ventas2016. Trabajas con tantas variables a la vez, que Ventas2016 no recuerdas si se trata del número de unidades vendidas o del importe de las ventas del año. Utilizando la tabla anterior, si la variable contuviera el número de unidades, la nombrarías intVentas2016 y si fuese el importe de las ventas, lo harías como curVentas2016.
Tipos de variables VBA
Byte
Se utiliza para guardar números positivos enteros desde 0 a 255. Ocupa 1 byte en la memoria.
Boolean
Sólo puede almacenar dos valores: Verdadero (1) o Falso (0). Ocupa 2 bytes en la memoria
Integer
Este tipo de variable también ocupa 2 bytes pero puede almacenar un rango de números enteros muy alto: desde -32.768 hasta 32.767.
Long
También almacena números enteros desde -2.147.483.648 hasta 2.147.483.647.
Currency
Se utiliza para cálculos donde intervienen monedas. Puede almacenar un rango desde -922.334.203.685.477,5808 hasta 922.337.203.685.477,5807. Ocupa 8 bytes en memoria.
Single
Se suele utiliza para almacenar números fraccionarios periódicos. Abarca desde -3,4028235E+38 a -1,401298E-45 para números negativos y 1,401298E-45 a 3,4028235E+38 para números positivos. Ocupa 4 bytes en memoria.
Double
Similar al anterior pero con mucha más capacidad. Ocupa 8 bytes en memoria y comprende desde -1,79769313486231570E+308 a -4,94065645841246544E-324 para los valores negativos y desde 4,94065645841246544E-324 a 1,79769313486231570E+308 para los valores positivos.
Date
Almacena fechas y horas como números de serie. Estos números funcionan igual que en Excel: la parte positiva del número corresponde al día y la parte decimal corresponde a la hora, de forma que 04/04/1986 a las 16:32:15, está representado por el número 31506,6890625.
String
Almacena cadenas de caracteres desde uno solo a unos dos mil millones aproximadamente. El espacio ocupado por este tipo de variable depende de la longitud de la cadena guardada.
Object
Almacena cualquier referencia a objetos. Ocupa 4 bytes en memoria.
Variant
Es un tipo de variable especial que puede almacenar cualquier tipo de dato (numéricos, textos o fechas). Ocupan un espacio variable en la memoria (un tamaño fijo de 22 bytes + la longitud de los datos). Si una variable no se declara como un tipo de los anteriores, se supone que es una Variant.
¿Qué tipo de variable utilizar?
Por regla general, primero debes fijarte en el tipo de datos que utilice menos cantidad de memoria y que sea capaz de contener los datos que vayas a asignar. Cuanta menos memoria se utilice, más rápido se ejecutará el procedimiento..
A medida que vayas trabajando con VBA irá siendo más fácil seleccionar el tipo de dato que necesitas en cada momento.
5 comentarios en “¿Qué tipos de variables puedo encontrar en VBA Excel?”
Long ocupa 4 bytes en memoria
Buen día, para porcentajes, que variables se puede utilizar?
Gracias
Hola Nilton!
Puedes utilizar sin problema los tipos de datos Single o Double.
Saludos.
Cúal seria la variable para obtener el campo “Duración”
Hola Rogelio!
Depende de la unidad en la que quieras expresar esa duración. Si lo quieres hacer en formato de fecha, la ideal sería Date, pero si quieres hacerlo con números, tendrías que utilizar una que permitiese números decimales, por ejemplo Double.
Los comentarios están cerrados.