Introducción a las Variables en VBA

Sesión Práctica N° 1 • Programación de Macros en Excel

1. ¿Qué aprenderemos hoy?

Reglas de la sesión

En esta primera sesión aprenderemos las bases esenciales para manipular datos dinámicamente. Trabajaremos exclusivamente con:

  • Declaración de Variables: Almacenar información en memoria (Dim ... As ...).
  • Objeto Range: Leer datos desde la hoja y escribir los resultados de vuelta (Range("A1").Value).
  • Operaciones Aritméticas Básicas: Suma (+), Resta (-), Multiplicación (*) y División (/).
  • Concatenación: Unir textos y valores usando el operador (&).

* Nota: En esta sesión inicial no utilizaremos estructuras avanzadas como condicionales (If) ni bucles (For/While).

2. ¿Qué es una Variable en VBA?

Una variable es un contenedor en la memoria RAM de la computadora reservado para guardar un dato temporalmente durante la ejecución de una macro.

' Sintaxis básica para declarar una variable:
Dim nombreVariable As TipoDeDato

' Ejemplos comunes:
Dim precio As Double ' Números con decimales
Dim cantidad As Long ' Números enteros grandes
Dim nombre As String ' Texto

3. Ejemplo 1: Cálculo de Total de Producto Estructura Base

Escenario: Queremos calcular el monto total a pagar por un producto multiplicando la cantidad comprada por el precio unitario y almacenando cada dato en variables.

Código VBA:

Sub CalcularTotalProducto()
    ' 1. Declarar variables
    Dim cantidad As Long
    Dim precioUnitario As Double
    Dim total As Double

    ' 2. Leer datos desde la hoja de Excel
    cantidad = Range("B2").Value
    precioUnitario = Range("B3").Value

    ' 3. Operación aritmética (Multiplicación)
    total = cantidad * precioUnitario

    ' 4. Escribir resultado en la celda correspondiente
    Range("B4").Value = total
End Sub

Resultado en Excel (Simulación):

A B
1 Concepto Valor
2 Cantidad 15
3 Precio Unitario ($) 12.50
4 Monto Total ($) 187.5

4. Ejemplo 2: Promedio de Notas Suma y División

Escenario: Obtener el promedio trimestral de un alumno sumando tres notas parciales y dividiendo el resultado entre tres. Es importante usar paréntesis para respetar la jerarquía matemática.

Código VBA:

Sub CalcularPromedio()
    Dim nota1 As Double
    Dim nota2 As Double
    Dim nota3 As Double
    Dim promedio As Double

    ' Lectura de notas
    nota1 = Range("B7").Value
    nota2 = Range("B8").Value
    nota3 = Range("B9").Value

    ' Cálculo del promedio
    promedio = (nota1 + nota2 + nota3) / 3

    ' Escritura en Excel
    Range("B10").Value = promedio
End Sub

Resultado en Excel (Simulación):

A B
7 Nota 1 14
8 Nota 2 16
9 Nota 3 18
10 Promedio Final 16

5. Ejemplo 3: Unir Textos Dinámicos Operador &

Escenario: Unir el nombre del cliente y el total a pagar para generar una frase o reporte personalizado dentro de una sola celda usando el operador &.

Código VBA:

Sub GenerarMensaje()
    Dim cliente As String
    Dim deuda As Double
    Dim mensajeFinal As String

    cliente = Range("B13").Value
    deuda = Range("B14").Value

    ' Concatenar texto estático con variables
    mensajeFinal = "El cliente " & cliente & " tiene un saldo pendiente de $" & deuda

    Range("B15").Value = mensajeFinal
End Sub

Resultado en Excel (Simulación):

A B
13 Cliente Carlos Gómez
14 Monto Pendiente ($) 450.00
15 Notación Emitida El cliente Carlos Gómez tiene un saldo pendiente de $450

6. Pasos Clave para Resolver los Ejercicios

  1. Declarar: Crea tus variables al inicio con Dim asignándoles su tipo (Long, Double, String).
  2. Asignar/Leer: Lee los valores de las celdas de Excel usando Range("...").Value.
  3. Procesar: Realiza los cálculos necesarios (+, -, *, /) o une textos (&).
  4. Escribir: Deposita el resultado final en la celda destino usando Range("...").Value = variable.