Declarando variables en VBA excel

✅ Introducción

En este apartado aprenderemos como declarar nuestras Variables en VBA. Veremos los diferentes tipos de datos que existen y cual nos conviene más para declarar a nuestras variables.

✅ ¿Qué es una Variable?

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 (macro). Una Variable nos va servir para almacenar ya sea un texto, un número, una fecha, etc. Existen diferentes tipos de datos, hay que saber cual tipo vamos a utilizar para nuestra Variable.

✅Características del Nombre de una Variable

  • Se declara usando la palabra Dim (Dimension)
  • No puede haber dos Variables con el mismo Nombre.
  • Si no se especifica el tipo de dato se declara como Variant.
  • No está permitido usar espacios en blanco, tampoco caracteres especiales, no se puede comenzar una Variable con un número.
  • El tamaño máximo para el nombre de la Variable es de 255 caracteres.

✅ Tipo de datos

Recordemos los tipos de datos, si necesitas mayor detalles sobre este tema puedes ver nuestro video anterior donde explicamos todo sobre este tema Tipos de Datos en VBA

✅ Ejemplos de Variable y uso de tipo de datos

Ingresamos a nuestra ventana de VBA. Clic derecho en nuestro Hoja1 > Ver Código.
Creamos un Módulo desde la pestaña Insertar > Módulo.
Ahora para poder crear nuestro tipos de datos tenemos que crear primero un procedimiento Sub.

Sub Tipos_Datos()
End Sub

Ahora declaramos nuestra Variable con Dim. Recuerda no puede haber dos Variables con el mismo Nombre. No está permitido usar espacios en blanco, tampoco caracteres especiales, no se puede comenzar una Variable con un número, el tamaño máximo para el nombre de la Variable es de 255 caracteres.

✅ Ejemplo declaración a Variable tipo de Dato Byte

Sub Tipos_Datos()
Dim Precio As Byte
Precio = 200
MsgBox Precio
End Sub

Si ejecutamos veremos lo siguiente:

Si usamos el tipo de dato Byte debemos recordar que su rango es solo hasta el 255, si ponemos un rango mayor por ejemplo 256 este al poner ejecutar nos mostrará que hay un Desbordamiento:

✅ Ejemplo declaración a Variable tipo de Dato Integer

Sub Tipos_Datos()
Dim Precio As Integer
Precio = 32000
MsgBox Precio
End Sub

Si ejecutamos veremos lo siguiente:

Si usamos el tipo de dato Integer debemos recordar que su rango es solo hasta el 32768, si ponemos un rango mayor por ejemplo 33000 este al poner ejecutar nos mostrará que hay un Desbordamiento:

✅ Ejemplo declaración a Variable tipo de Dato Long

Sub Tipos_Datos()
Dim Precio As Long
Precio = 10000000
MsgBox Precio
End Sub

Si ejecutamos veremos lo siguiente:

También podemos usar el Tipo de Dato Long para números más pequeños, por ejemplo:

Sub Tipos_Datos()
Dim Precio As Long
Precio = 5
MsgBox Precio
End Sub

Si ejecutamos veremos lo siguiente:

SI USAMOS EL TIPO DE DATO LONG CON UN NÚMERO PEQUEÑO (5) EL PROGRAMA LO EJECUTARÁ PERO ESTAREMOS PERDIENDO MEMORIA, RECOMENDAMOS USAR BYTE PORQUE ESTE ESTÁ EN SU RANGO

Si tenemos números decimales por ejemplo 5.55 en nuestro ejemplo el programa automáticamente lo redondeará a 6.

Sub Tipos_Datos()
Dim Precio As Long
Precio = 5.55
MsgBox Precio
End Sub

✅ Ejemplo declaración a Variable tipo de Dato Single

Para tipo de datos con decimales, usaremos single, que nos permite usarlo hasta 7 decimales.

Sub Tipos_Datos()
Dim Precio As Single
Precio = 5.55
MsgBox Precio
End Sub

Si ejecutamos veremos lo siguiente:

En caso de tus decimales excedan los 15 decimales te recomendamos usar Variables Tipo Double

✅ Ejemplo declaración a Variable tipo de Dato String

Sub Tipos_Datos()
Dim Nombre_Apellido As String
Nombre_Apellido = “Miguel Vela”
MsgBox Nombre_Apellido
End Sub

Si ejecutamos veremos lo siguiente:

También podríamos incluir números:

Sub Tipos_Datos()
Dim Nombre_Apellido As String
Nombre_Apellido = “Miguel Vela 959595959”
MsgBox Nombre_Apellido
End Sub

👉 OJO En este caso las Variables que contiene un dato tipo String con textos y números reconocerá a los números solo como textos 👀

✅ Ejemplo declaración a Variable tipo de Dato Date

Sub Tipos_Datos()
Dim Fecha As Date
Fecha = #1/1/2024#
MsgBox Fecha
End Sub

Si ejecutamos veremos lo siguiente:

✅ Tipo de declaración de Variantes

Existen dos tipos de declaración de variantes:

✅ Declaración Implícita

No se declara el Tipo de dato. VBA lo asigna automáticamente. Es un tipo de dato Variant. Por ejemplo:

En este ejemplo no declaramos el Tipo de Dato a la variable con la palabra Dim, cuando NO declaramos el tipo de dato entonces se llama Declaración Implícita ya que el mismo VBA lo declara como un tipo de Datos Variant, pero OJO esto consume muchos más recursos internos en nuestra computadora, y si realizamos un proyecto más grande y un código muy extenso no es recomendable.

Si ejecutamos veremos lo siguiente:

✅ Declaración Explícita

Se declara el Tipo de Dato, con Dim. Por ejemplo:

✅ Opción obligar a Declarar totas las Variables.

Para que una Macro obligue a declarar un Tipo de Datos a nuestra Variable ponemos Option Explicit, en el siguiente ejemplo no declararemos la variable para ver que sucede:

Si ejecutamos esta macro que contiene la indicación Option Explicit en nuestra línea de código y no declaramos un Tipo de Dato a nuestra variable veremos que al ejecutarse nos da un mensaje de error de compilación obligando a declarar o definir un Tipo de Dato a nuestra Variable.

Asignamos un Tipo de Dato para que nuestra Macro pueda compilar:

Si ejecutamos veremos lo siguiente:

✅ Declarar en una sola línea

Separamos las Variable con una coma (,) escribiendo el código en una sola línea.

✅Formas de asignar valores a una Variable

👉 También puedes ver estos artículos relacionados: 👀

Ámbito de Variable (Local, Private, Public)
¿Qué son las constantes?
Modelo de objetos en Excel

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *