Curso de Programación en Excel (VBA)

Clase 2: Las Variables

⏱️ Duración Video: [Indicar duración]
📚 Nivel: Básico

En esta clase, exploraremos uno de los conceptos fundamentales en cualquier lenguaje de programación: las variables. Aprenderemos qué son, cómo declararlas en VBA, los tipos más comunes y cómo trabajar con ellas.

Video explicativo de la Clase 1.

1. ¿Qué es una Variable?

Una variable es, esencialmente, un espacio que reservamos en la memoria de la computadora para guardar algún tipo de valor. Puedes imaginarla como una "bolsa" o una "caja" con una etiqueta (el nombre de la variable) donde puedes almacenar diferentes tipos de objetos (los datos).

En VBA (Visual Basic for Applications), el manejo de variables es crucial para crear macros dinámicas y útiles.

2. Tipos de Variables Comunes en VBA

VBA maneja diferentes tipos de datos. Los más comunes que veremos en esta clase son:

  • Integer: Se usa para guardar números enteros, es decir, números sin decimales (ej: 10, -5, 0).
  • String: Sirve para guardar palabras o cadenas de caracteres. Esto puede incluir letras, números y caracteres especiales (ej: "Hola Mundo", "Cliente123", "Reporte_Final").
  • Double: Se utiliza para guardar números que pueden tener decimales (ej: 3.1416, -0.5, 150.75).

Existen muchos otros tipos de datos en VBA (Boolean, Date, Object, etc.), pero por ahora nos enfocaremos en estos tres para sentar las bases.

3. Declarando Variables: La Palabra Dim

Para usar una variable en VBA, primero debemos "declararla". Esto significa decirle a VBA qué nombre tendrá nuestra variable y qué tipo de dato va a almacenar. Para esto, usamos la palabra reservada Dim.

Sintaxis Básica:

VBA
Dim nombreDeLaVariable As TipoDeLaVariable

Por ejemplo:

VBA
Sub EjemploVariables()
    Dim edad As Integer
    Dim nombreCliente As String
    Dim precioProducto As Double
End Sub

Reglas para Nombrar Variables:

  • Deben comenzar con una letra.
  • No pueden contener espacios ni puntos.
  • No pueden ser palabras reservadas de VBA (como Dim, Sub, End, If, etc.).
  • No pueden ser únicamente números.
  • No pueden contener caracteres especiales como *, +, -, / (aunque el guion bajo _ sí está permitido y es útil para separar palabras, ej: nombre_cliente).
  • Es una buena práctica usar nombres descriptivos que indiquen qué guarda la variable.

4. Asignando Valores a las Variables

Una vez declarada una variable, podemos asignarle un valor usando el signo igual (=).

VBA
Sub AsignarValores()
    Dim edad As Integer
    Dim saludo As String
    Dim alturaMetros As Double

    edad = 30
    saludo = "Bienvenido al curso de VBA"
    alturaMetros = 1.75
End Sub

Manejo de Valores:

  • Strings (Texto): Generalmente deben ir entre comillas dobles (" "). Aunque VBA a veces permite comillas simples para otras cosas, para strings es estándar usar dobles.
  • Números (Integer, Double): Se escriben directamente, sin comillas.

5. Usando las Variables

Cuando usas una variable en tu código (por ejemplo, para mostrarla en un mensaje), estás utilizando el contenido que tiene almacenado.

VBA
Sub MostrarVariables()
    Dim miNombre As String
    Dim miEdad As Integer

    miNombre = "Mortal Programador"
    miEdad = 100 ' ¡Un programador muy experimentado!

    MsgBox miNombre ' Muestra el contenido de la variable miNombre
    MsgBox miEdad   ' Muestra el contenido de la variable miEdad
End Sub

Nota que al usar miNombre o miEdad en MsgBox, no usamos comillas, porque queremos mostrar el valor que guardan, no el texto "miNombre".

6. Concatenación: Uniendo Texto y Variables

A menudo querrás mostrar un mensaje que combine texto fijo con el valor de una variable. Para esto, usamos el carácter ampersand (&) para "concatenar" o unir las partes.

VBA
Sub SaludoPersonalizado()
    Dim nombreUsuario As String
    nombreUsuario = "Ana"

    MsgBox "Hola, " & nombreUsuario & "! Bienvenida."
    ' Resultado: Muestra un mensaje que dice "Hola, Ana! Bienvenida."
End Sub

Fíjate en los espacios dentro de las comillas ("Hola, " y "! Bienvenida.") para que el mensaje final se vea bien formateado.

7. Comentarios en VBA: Tus Notas en el Código

Los comentarios son líneas de texto dentro de tu código que VBA ignora por completo. Son para ti o para otros programadores que lean tu código en el futuro. Ayudan a explicar qué hace una parte del código, por qué tomaste cierta decisión, o para dejar recordatorios.

En VBA, un comentario comienza con una comilla simple ('). El editor de VBA generalmente los pinta de color verde para que los identifiques fácilmente.

VBA
Sub EjemploComentarios()
    ' Esto es un comentario y será ignorado por Excel.
    Dim ciudad As String ' Declaro una variable para guardar la ciudad
    ciudad = "Buenos Aires" ' Asigno un valor a la variable ciudad
    
    ' La siguiente línea mostrará la ciudad en un mensaje
    MsgBox "Vivo en: " & ciudad 
End Sub

8. Depuración (Debugging): Espiando tu Código Paso a Paso

A veces, tus macros no harán lo que esperas. ¡No te preocupes, le pasa hasta al mejor programador! La depuración (o "debugging") es el proceso de encontrar y corregir errores en tu código.

VBA tiene herramientas para ayudarte. Una muy útil es ejecutar tu código "paso a paso" para ver qué está sucediendo en cada línea.

Método de Depuración: Paso a Paso por Instrucciones

  1. En el editor de VBA, con el cursor dentro de la macro que quieres depurar (ej. Sub EjemploComentarios()).
  2. Ve al menú Depuración (Debug).
  3. Selecciona la opción Paso a paso por instrucciones (Step Into).

Alternativamente, la tecla de atajo más común para esto es F8.

Al presionar F8 repetidamente, verás cómo VBA resalta cada línea de código ejecutable justo antes de ejecutarla. Esto te permite ver el flujo de tu programa y, si colocas el cursor sobre una variable, a menudo podrás ver su valor actual.

Nota sobre F8: Las líneas que comienzan con una comilla simple (comentarios) y las líneas de declaración de variables (Dim ...) no se "ejecutan" paso a paso con F8 en el sentido de que no son acciones directas que el procesador realiza; son más bien directivas para el compilador o el intérprete. VBA las saltará o las procesará internamente sin detenerse en ellas al usar F8.

9. Práctica de la Clase 2

Ahora te toca a ti. Intenta lo siguiente:

  1. Crea una nueva macro llamada MiInformacion.
  2. Dentro de ella, declara tres variables:
    • Una para tu película favorita (String).
    • Una para el año en que se estrenó (Integer).
    • Una para tu calificación de la película de 1 a 10 (Double, puede tener decimales).
  3. Asigna valores a estas tres variables.
  4. Usa MsgBox para mostrar un mensaje que combine toda esta información. Por ejemplo: "Mi película favorita es [Película], se estrenó en [Año] y le doy un [Calificación]/10."
  5. Añade comentarios explicando cada parte de tu código.
  6. Ejecuta tu macro paso a paso usando F8 para ver cómo se asignan los valores a las variables.

¡La práctica hace al maestro! Cuanto más experimentes con variables, tipos de datos y la función MsgBox, más cómodo te sentirás con los fundamentos de VBA.