Las macros en Excel son secuencias de comandos que automatizan tareas repetitivas. Puedes grabar una macro sin programar o editarla con VBA (Visual Basic for Applications) para crear automatizaciones más avanzadas. En esta guía aprenderás paso a paso cómo crear, editar y ejecutar macros de forma segura.
Actualizado: Diciembre 2025
Una macro en Excel es un conjunto de instrucciones grabadas que se ejecutan automáticamente con un solo clic o atajo de teclado. Piensa en ella como una "grabación" de los pasos que haces manualmente en Excel.
Por ejemplo, si todos los días formateas un informe de la misma manera (ajustar columnas, aplicar colores, agregar bordes), puedes grabar esos pasos una vez y después ejecutarlos automáticamente.
Las macros son especialmente útiles cuando tienes que repetir las mismas acciones frecuentemente. Estos son los usos más comunes:
La forma más fácil de crear una macro es usando el Grabador de Macros de Excel. No necesitas escribir código, Excel lo genera automáticamente.
1Activa la pestaña Desarrollador
Si no ves la pestaña "Desarrollador" en Excel:
2Inicia la grabación
3Realiza las acciones que quieres automatizar
Ahora Excel está grabando todo lo que hagas. Por ejemplo:
4Detén la grabación
Hay varias formas de ejecutar una macro ya creada:
Si asignaste un atajo al crear la macro (ej: Ctrl+Shift+F), simplemente presiónalo.
Para modificar una macro o crear una más avanzada, necesitas acceder al Editor de VBA:
1Abre el Editor de VBA
Presiona Alt + F11 o ve a Desarrollador → Visual Basic
2Localiza tu macro
En el panel izquierdo, expande tu libro y busca en Módulos. Las macros grabadas suelen estar en "Módulo1".
3Edita el código
Verás algo como esto:
Sub FormatearInforme() ' ' FormatearInforme Macro ' Formatea el informe mensual de ventas ' Range("A1:E1").Select Selection.Font.Bold = True Selection.Interior.Color = RGB(102, 126, 234) Selection.Font.Color = RGB(255, 255, 255) Columns("A:E").AutoFit End Sub
Sub NombreMacro()
Sub MiMacro()
End Sub
' Comentario
' Esto es un comentario
Range("A1")
Range("A1:B10")
Cells(fila, col)
Cells(1, 1)
Aquí tienes macros listas para copiar y usar:
Sub FormatearEncabezados() ' Selecciona la primera fila con datos Range("A1").CurrentRegion.Rows(1).Select ' Aplica formato With Selection .Font.Bold = True .Font.Size = 12 .Interior.Color = RGB(102, 126, 234) .Font.Color = RGB(255, 255, 255) .HorizontalAlignment = xlCenter End With ' Ajusta ancho de columnas Cells.EntireColumn.AutoFit End Sub
Sub EliminarFilasVacias() Dim ultimaFila As Long Dim i As Long ultimaFila = Cells(Rows.Count, 1).End(xlUp).Row ' Recorre de abajo hacia arriba For i = ultimaFila To 1 Step -1 If WorksheetFunction.CountA(Rows(i)) = 0 Then Rows(i).Delete End If Next i MsgBox "Filas vacías eliminadas", vbInformation End Sub
Function CalcularIVA(monto As Double, Optional tasa As Double = 0.21) As Double ' Uso en celda: =CalcularIVA(A1) o =CalcularIVA(A1, 0.105) CalcularIVA = monto * tasa End Function
Sub ExportarHojasComoArchivos() Dim ws As Worksheet Dim ruta As String ruta = ThisWorkbook.Path & "\" For Each ws In ThisWorkbook.Worksheets ws.Copy ActiveWorkbook.SaveAs ruta & ws.Name & ".xlsx" ActiveWorkbook.Close False Next ws MsgBox "Hojas exportadas a: " & ruta, vbInformation End Sub
1Configurar el nivel de seguridad
Application.ScreenUpdating = False
Una macro es un conjunto de instrucciones automatizadas que ejecutan tareas repetitivas en Excel. Puede ser tan simple como dar formato a celdas o tan compleja como procesar miles de registros y generar reportes automáticos.
No para macros básicas. El Grabador de Macros de Excel te permite crear automatizaciones sin escribir código. Sin embargo, aprender VBA te permitirá crear macros más potentes y personalizadas.
Ve a Archivo → Opciones → Centro de confianza → Configuración del Centro de confianza → Configuración de macros. Selecciona "Deshabilitar todas las macros con notificación" para que Excel te pregunte antes de habilitarlas.
Las macros en sí no son peligrosas, pero pueden contener código malicioso si provienen de fuentes no confiables. Por eso Excel las deshabilita por defecto. Solo habilita macros de archivos que tú creaste o de fuentes verificadas.
Debes guardarlo como .xlsm (Libro de Excel habilitado para macros). Si guardas como .xlsx normal, las macros se perderán.
Excel Online tiene soporte limitado para macros. Google Sheets usa un lenguaje diferente llamado Google Apps Script. Las macros VBA de Excel de escritorio no son compatibles directamente.
Si quieres dominar las macros y VBA para automatizar tu trabajo en Excel, te recomendamos el Curso de Macros para Office - VBA de Aprender21.
En este curso aprenderás: