Vba en excel para principiantes: introducción al lenguaje de macros explicada paso a paso


VBA es el lenguaje de programación que está detrás de todas las macros de Excel. Cuando grabas una macro, Excel traduce automáticamente tus acciones a código VBA. Pero las posibilidades de VBA van mucho más allá del grabador: con unas pocas líneas de código puedes hacer cosas que el grabador no permite, como bucles que recorren miles de filas, condiciones lógicas, interacción con el usuario, integración con Outlook o Word, manejo de archivos externos y prácticamente cualquier automatización imaginable. Aprender lo básico de VBA es el siguiente paso lógico cuando las macros grabadas se quedan cortas.

En esta guía vas a entender qué es VBA, cómo abrir y orientarte en el editor, cómo escribir tus primeras líneas de código, los conceptos básicos del lenguaje y por dónde seguir avanzando. Si quieres aprender Excel con un método ordenado y llegar al nivel VBA, consulta también la guía sobre el curso de excel online.

 

¿Qué es VBA y por qué es importante?

 

VBA significa Visual Basic for Applications. Es un lenguaje de programación incluido en Excel (y también en Word, PowerPoint, Outlook y Access) que permite escribir código para automatizar tareas y crear funcionalidades personalizadas. Su sintaxis es relativamente sencilla y, sobre todo, está pensada para integrarse perfectamente con Excel: hay objetos predefinidos para hojas, rangos, libros, gráficos y prácticamente cualquier elemento del programa.

VBA sigue siendo el lenguaje estándar para automatización en Excel a pesar de la llegada de alternativas como Office Scripts o Power Automate. Para tareas dentro de Excel y compatibilidad universal, VBA es la opción más extendida y soportada.

 

Cómo abrir el editor de VBA

 

El editor de VBA es una ventana separada de Excel donde se escribe el código.

 

  • Atajo: Alt+F11 desde cualquier libro abierto.
  • Desde el menú: pestaña Desarrollador > Visual Basic.

 

El editor tiene tres paneles principales: el explorador de proyectos a la izquierda (con los libros abiertos y sus elementos), la ventana de propiedades abajo a la izquierda y el área de código a la derecha donde se escribe.

 

Escribir tu primera macro en VBA

 

Vamos a crear una macro mínima que escriba "Hola Mundo" en la celda A1.

 

  • Paso 1. Abre el editor VBA con Alt+F11.
  • Paso 2. En el explorador de proyectos, busca tu libro. Haz clic derecho > Insertar > Módulo.
  • Paso 3. En el área de código del módulo, escribe:

 

Sub HolaMundo()

Range("A1").Value = "Hola Mundo"

End Sub

 

  • Paso 4. Pulsa F5 (o Ejecutar > Ejecutar Sub/UserForm).
  • Paso 5. Vuelve a Excel: en A1 aparecerá "Hola Mundo".

 

Acabas de escribir tu primer programa en VBA. La estructura básica es: Sub Nombre() para abrir, líneas de código en medio, End Sub para cerrar.

 

Conceptos básicos del lenguaje

 

Objetos, propiedades y métodos

 

VBA trabaja con objetos: Range, Worksheet, Workbook, Cell, Chart. Cada objeto tiene propiedades (lo que es: Value, Color, Font) y métodos (lo que puede hacer: Copy, Delete, Select). La sintaxis es Objeto.Propiedad o Objeto.Método.

Ejemplo: Range("A1").Value = 100 asigna el valor 100 a la celda A1.

 

Variables

 

Para almacenar datos temporales se usan variables. Se declaran con Dim:

 

Dim total As Double

total = 100 * 1.21

Range("B1").Value = total

 

Condiciones (If)

 

Permiten ejecutar código solo si se cumple una condición.

 

If Range("A1").Value > 100 Then

Range("B1").Value = "Alto"

Else

Range("B1").Value = "Bajo"

End If

 

Bucles (For)

 

Ejecutan código varias veces. Útiles para procesar muchas filas.

 

Dim i As Integer

For i = 1 To 100

Range("A" & i).Value = i

Next i

 

Este código rellena A1 con 1, A2 con 2, hasta A100 con 100. Pequeño pero potente.

 

Mensajes al usuario

 

Para interactuar con el usuario:

MsgBox "Proceso completado"

Muestra un cuadro emergente con el mensaje.

Para pedir un dato:

Dim nombre As String

nombre = InputBox("Introduce tu nombre")

 

Lo que VBA permite hacer y el grabador no

 

  • Bucles que recorren miles de filas: aplicar lógica a cada una según condiciones.
  • Decisiones condicionales complejas: que el código actúe distinto según múltiples criterios.
  • Interacción con el usuario: formularios personalizados, cuadros de diálogo, validaciones.
  • Manejo de varios archivos: abrir, leer, modificar y guardar otros libros automáticamente.
  • Integración con Outlook: enviar correos automáticamente desde Excel.
  • Funciones personalizadas: crear funciones tuyas que se usen igual que SUMA o BUSCARV.
  • Eventos: ejecutar código cuando el usuario hace algo (cambiar celda, abrir libro, guardar).

 

Errores frecuentes al empezar con VBA

 

  • No usar Option Explicit: obliga a declarar todas las variables y previene errores tontos. Actívalo en cada módulo.
  • Olvidar el End Sub o End If: el código no compila. El editor lo señala con colores.
  • Confundir = en condiciones con = en asignaciones: en VBA es el mismo símbolo, pero el contexto importa.
  • Usar Select y Selection demasiado: el grabador tiende a hacerlo, pero ralentiza y es frágil. Mejor referirse a los rangos directamente.
  • No probar paso a paso: con F8 puedes ejecutar línea a línea, viendo qué hace cada una.

 

Cómo seguir aprendiendo VBA

 

Una vez entiendes los conceptos básicos (objetos, variables, condiciones, bucles), el aprendizaje real viene de resolver casos concretos. La progresión típica es:

 

  • Modificar macros grabadas: entender el código y cambiarlo para mejorarlo.
  • Escribir macros desde cero: partir de un objetivo y construir el código.
  • Crear funciones personalizadas: para usarlas como cualquier función nativa.
  • Diseñar formularios: con UserForm para interfaces más profesionales.
  • Integrar con otras aplicaciones: Outlook, Word, Access, archivos externos.

 

Lo más eficaz es completar primero el curso de excel intermedio online y dar después el salto a formación específica de VBA. Si todavía partes desde cero, empieza con el curso de excel básico online. Y si trabajas por cuenta ajena, consulta los cursos de excel bonificados por fundae.

 

Preguntas frecuentes sobre VBA en Excel

 

¿Es difícil aprender VBA?

 

Si ya manejas Excel a nivel intermedio, los conceptos básicos de VBA se aprenden en 20-30 horas. Para soltura real, entre 80 y 120 horas de práctica con casos reales. Es de los lenguajes más accesibles para no programadores.

 

¿Hay que ser programador para usar VBA?

 

No. VBA está diseñado precisamente para usuarios avanzados de Excel sin experiencia previa en programación. La sintaxis es relativamente cercana al lenguaje natural.

 

¿VBA sigue vigente en 2026?

 

Sí. A pesar de alternativas modernas como Office Scripts o Power Automate, VBA sigue siendo el estándar más extendido para automatización en Excel y Microsoft mantiene su soporte.

 

¿Puedo usar VBA en Excel para Mac?

 

Sí, las versiones recientes lo soportan, aunque con algunas diferencias respecto a Windows. Las funcionalidades básicas funcionan en ambos.

 

¿Para qué carreras es útil saber VBA?

 

Especialmente útil en finanzas, contabilidad, auditoría, controlling, análisis de datos, banca y consultoría. En esos sectores el dominio de VBA marca diferencia salarial real.

 

¿VBA puede sustituir a Power Query?

 

No exactamente. Power Query es mejor para transformación de datos repetitiva. VBA es mejor para automatizaciones complejas con lógica condicional y flujos personalizados. Lo ideal es saber usar ambos.

 

¿Hay que tener cuidado con la seguridad al usar VBA?

 

Sí. Igual que con cualquier código, ejecutar VBA de fuentes desconocidas puede ser peligroso. Excel desactiva macros por defecto en archivos externos, y solo conviene activarlas en archivos de fuentes confiables.

 

VBA es el siguiente nivel de Excel profesional

 

Aprender VBA en Excel abre la puerta a automatizaciones que el grabador no puede crear. Es la herramienta que diferencia al usuario avanzado del intermedio y la que muchas oposiciones técnicas y entrevistas en banca o consultoría valoran. Para llegar a este nivel de manera ordenada, lo más eficaz es completar primero el curso de excel intermedio online y dar el salto a formación específica de macros y VBA. Si todavía partes desde cero, empieza con el curso de excel básico online. Para visión completa, consulta la guía sobre el curso de excel online.

 

 

 

Pincha aquí y solicita información sobre el curso excel básico

 

Pincha aquí y solicita información sobre el curso excel intermedio

 

 

 

 

Puedes solicitar información sobre el curso excel básico y/o intermedio desde cualquier población y capital de provincia:

 

Albacete | Alicante | Almería | Ávila | Badajoz | Barcelona | Bilbao | Burgos | Cáceres | Cádiz | Castellón de la Plana | Ciudad Real | Córdoba | Cuenca | Gerona | Granada | Guadalajara | Huelva | Huesca | Jaén | La Coruña | Las Palmas de Gran Canaria | León | Lérida | Logroño | Lugo | Madrid | Málaga | Murcia | Orense | Oviedo | Palma | Palencia | Pamplona | Pontevedra | Salamanca | San Sebastián | Santa Cruz de Tenerife | Santander | Segovia | Sevilla | Soria | Tarragona | Teruel | Toledo | Valencia | Valladolid | Vitoria | Zamora | Zaragoza

 

OTROS ARTÍCULOS QUE TE PUEDEN INTERESAR

1.- Función SI en Excel: cómo usarla, ejemplos prácticos y SI anidada explicada fácil

Comparte este artículo: