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.
Dim nombreVariable As TipoDeDato
Dim precio As Double
Dim cantidad As Long
Dim nombre As String
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()
Dim cantidad As Long
Dim precioUnitario As Double
Dim total As Double
cantidad = Range("B2").Value
precioUnitario = Range("B3").Value
total = cantidad * precioUnitario
Range("B4").Value = total
End Sub
Resultado en Excel (Simulación):
| 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
nota1 = Range("B7").Value
nota2 = Range("B8").Value
nota3 = Range("B9").Value
promedio = (nota1 + nota2 + nota3) / 3
Range("B10").Value = promedio
End Sub
Resultado en Excel (Simulación):
| 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
mensajeFinal = "El cliente " & cliente & " tiene un saldo pendiente de $" & deuda
Range("B15").Value = mensajeFinal
End Sub
Resultado en Excel (Simulación):
| 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
- Declarar: Crea tus variables al inicio con
Dim asignándoles su tipo (Long, Double, String).
- Asignar/Leer: Lee los valores de las celdas de Excel usando
Range("...").Value.
- Procesar: Realiza los cálculos necesarios (
+, -, *, /) o une textos (&).
- Escribir: Deposita el resultado final en la celda destino usando
Range("...").Value = variable.