certmundo.
es‑mx

6 min de lectura

¿Cómo usar el Editor de Visual Basic (VBE) en Excel?

El Editor de Visual Basic (VBE) es el entorno integrado donde escribes, editas y depuras todo el código VBA de tus macros en Excel.

Acceder al VBE es el primer paso para dejar de depender del grabador y escribir código propio. Aquí es donde ocurre el verdadero trabajo avanzado.

Cómo abrir el VBE

Tienes tres formas de abrir el Editor de Visual Basic:

  • Atajo de teclado: Presiona Alt + F11 desde cualquier hoja de Excel. Es el método más rápido.
  • Pestaña Desarrollador: Haz clic en el botón Visual Basic en el grupo Código.
  • Clic derecho en una pestaña de hoja: Selecciona Ver código para abrir directamente el módulo de esa hoja.

El VBE abre una ventana separada. Excel sigue abierto en segundo plano; puedes alternar entre ambos con Alt + F11.

Las cuatro zonas principales del VBE

El VBE tiene cuatro áreas que debes conocer desde el inicio.

1. Explorador de proyectos

El Explorador de proyectos muestra todos los objetos del libro actual organizados en árbol. Aparece en la esquina superior izquierda.

Cada libro abierto es un proyecto. Dentro verás:

Elemento Descripción
Microsoft Excel Objetos Contiene ThisWorkbook y cada hoja (Sheet1, Sheet2…)
Módulos Carpeta donde viven los módulos estándar de código
Formularios Carpeta para los UserForms (formularios personalizados)
Módulos de clase Para programación orientada a objetos avanzada

Si no ves el Explorador de proyectos, presiona Ctrl + R.

2. Ventana de propiedades

La ventana de propiedades muestra los atributos del objeto seleccionado en el Explorador. Aparece debajo del Explorador, a la izquierda.

Por ejemplo, si seleccionas Sheet1, verás su propiedad Name. Puedes cambiar el nombre interno de la hoja aquí sin afectar la pestaña visible en Excel.

Si no aparece, presiona F4.

3. Ventana de código

La ventana de código es el editor de texto donde escribes el código VBA. Ocupa la zona central y derecha del VBE.

En la parte superior de esta ventana hay dos menús desplegables:

  • Izquierdo: Lista de objetos disponibles (General, nombre del formulario, etc.).
  • Derecho: Lista de procedimientos o eventos del objeto seleccionado.

Esta ventana tiene autocompletado inteligente. Cuando escribes el nombre de un objeto y luego un punto, Excel sugiere propiedades y métodos disponibles.

4. Ventana Inmediato

La ventana Inmediato sirve para probar código línea por línea sin ejecutar toda la macro. Aparece en la parte inferior.

Escribe cualquier instrucción y presiona Enter para ejecutarla al instante. Es ideal para depurar valores.

Si no la ves, presiona Ctrl + G.

Tipos de módulos en VBA

No todo el código va en el mismo lugar. Elegir el módulo correcto es clave.

Módulo estándar: Es el lugar más común para escribir macros generales. Se insertan manualmente desde el menú Insertar → Módulo. El código aquí es accesible desde todo el libro.

Módulo de hoja (Sheet1, Sheet2…): Contiene código que responde a eventos de esa hoja específica. Por ejemplo, ejecutar algo cuando el usuario cambia una celda.

Módulo ThisWorkbook: Contiene código vinculado a eventos del libro completo. Por ejemplo, ejecutar una macro al abrir o cerrar el archivo.

Módulo de clase: Para crear tus propios objetos con propiedades y métodos. Es un tema de nivel experto.

Para esta lección, todo el código va en un módulo estándar.

Cómo insertar un módulo estándar

  1. En el VBE, ve al menú Insertar.
  2. Haz clic en Módulo.
  3. Aparecerá Módulo1 en el Explorador de proyectos bajo la carpeta Módulos.
  4. La ventana de código central se activa lista para escribir.

Puedes crear varios módulos para organizar tu código. Por ejemplo: ModuloDatos, ModuloReportes, ModuloFormatos.

Estructura de un procedimiento Sub

Un procedimiento Sub es el bloque de código más básico en VBA. Define una macro con nombre que puedes ejecutar manualmente o desde otra macro.

La estructura es:

Sub NombreDeLaMacro()
    ' Aquí va el código
End Sub

Reglas del nombre:

  • Sin espacios. Usa guión bajo si necesitas separar palabras: Calcular_Ventas.
  • Sin caracteres especiales ni acentos.
  • No puede empezar con un número.

Las líneas que empiezan con apóstrofo (') son comentarios. Excel las ignora al ejecutar. Úsalos para documentar qué hace cada sección.

Ejemplo 1 — Primer procedimiento Sub básico

Este procedimiento escribe un mensaje en la celda A1 de la hoja activa:

Sub SaludoBimbo()
    Range("A1").Value = "Reporte generado por RRHH"
End Sub

Para ejecutarlo desde el VBE: coloca el cursor dentro del procedimiento y presiona F5.

Para ejecutarlo desde Excel: pestaña Desarrollador → Macros → selecciona SaludoBimbo → Ejecutar.

Ejemplo 2 — Procedimiento con variables y formato de moneda

Este procedimiento calcula el bono mensual de un colaborador de FEMSA y lo escribe en la hoja:

Sub CalcularBono()
    Dim salarioBase As Long
    Dim porcentajeBono As Double
    Dim bonoFinal As Long

    salarioBase = 22000
    porcentajeBono = 0.15
    bonoFinal = salarioBase * porcentajeBono

    Range("B2").Value = "Salario base:"
    Range("C2").Value = "$22,000"

    Range("B3").Value = "Bono (15%):"
    Range("C3").Value = "$3,300"
End Sub

Dim declara una variable. As Long define que almacena números enteros grandes. As Double permite decimales.

Observa que los valores de moneda en las celdas se escriben como texto formateado ("$22,000") para garantizar la presentación correcta.

Ejemplo 3 — Procedimiento que recorre varias celdas

Este procedimiento marca en rojo las celdas del rango A1:A10 que estén vacías. Útil para limpiar bases de datos de Liverpool antes de importar al sistema:

Sub MarcarCeldasVacias()
    Dim i As Integer

    For i = 1 To 10
        If Cells(i, 1).Value = "" Then
            Cells(i, 1).Interior.Color = RGB(255, 0, 0)
        End If
    Next i
End Sub

Cells(fila, columna) es otra forma de referenciar celdas. Cells(1, 1) equivale a A1, Cells(2, 1) equivale a A2, y así.

For...Next repite el bloque de código un número definido de veces. If...Then evalúa una condición.

Errores comunes

Error 1 — Escribir código fuera de un procedimiento Sub

Todo el código ejecutable debe estar entre Sub y End Sub. Si escribes instrucciones sueltas fuera de ese bloque, VBA marcará un error de compilación en rojo.

Correcto:

Sub MiMacro()
    MsgBox "Hola"
End Sub

Incorrecto:

MsgBox "Hola"   ' Error: fuera de cualquier procedimiento

Error 2 — Confundir el módulo de hoja con el módulo estándar

Si haces doble clic en Sheet1 en el Explorador y escribes una macro general ahí, la macro puede no aparecer en el menú Macros de Excel. Las macros generales van siempre en un módulo estándar.

Error 3 — No guardar después de escribir código

El VBE no guarda automáticamente. Si cierras Excel sin guardar, pierdes todo el código escrito en esa sesión. Presiona Ctrl + S frecuentemente. Recuerda: el archivo debe estar en formato .xlsm.

Error 4 — Usar nombres de variables reservadas

VBA tiene palabras reservadas que no puedes usar como nombres de variables: Sub, End, If, For, Next, Do, Loop, True, False. Usar una de estas como nombre de variable genera error inmediato.

Atajos esenciales del VBE

Atajo Función
F5 Ejecutar el procedimiento actual
F8 Ejecutar línea por línea (modo depuración)
Ctrl + G Abrir ventana Inmediato
Ctrl + R Abrir Explorador de proyectos
F4 Abrir ventana de propiedades
Ctrl + Z Deshacer en el editor
Ctrl + S Guardar el proyecto
Alt + F11 Alternar entre Excel y VBE

Configuración recomendada del VBE

Antes de escribir código, activa esta opción:

  1. Ve a Herramientas → Opciones dentro del VBE.
  2. En la pestaña Editor, marca la casilla Requerir declaración de variables.

Esto agrega automáticamente Option Explicit al inicio de cada módulo nuevo. Con esa instrucción, VBA obliga a declarar todas las variables con Dim antes de usarlas. Esto evita errores silenciosos por errores de tipeo en nombres de variables.

Es una práctica estándar en cualquier entorno profesional.

Puntos clave

  • El VBE tiene cuatro zonas clave: Explorador de proyectos, ventana de propiedades, ventana de código y ventana Inmediato — conocer cada una acelera tu flujo de trabajo.
  • Las macros generales van en módulos estándar (Insertar → Módulo); el código de eventos de hoja va en el módulo de esa hoja específica, y el código de libro va en `ThisWorkbook`.
  • Todo el código ejecutable debe estar dentro de un bloque `Sub NombreDeLaMacro()` ... `End Sub`; el código fuera de este bloque genera error de compilación.
  • Activa `Option Explicit` desde Herramientas → Opciones → Requerir declaración de variables para evitar errores silenciosos por nombres mal escritos.
  • Presiona `Ctrl + S` constantemente mientras escribes código, y guarda siempre el archivo en formato `.xlsm` para no perder ningún procedimiento.

Comparte esta lección:

¿Cómo usar el Editor de Visual Basic (VBE) en Excel? | Macros y VBA en Excel: Curso Avanzado | Certmundo