Generador de macros VBA para Excel

Elige una tarea entre más de 50 macros, indica los nombres de tus hojas, columnas y rangos, y copia VBA limpio con variables declaradas y un controlador de errores, generado en tu navegador.

Las macros se generan por completo en tu navegador. Los nombres de hoja, los rangos, las rutas y el texto que introduces se quedan en tu dispositivo y nunca se envían a ArrayKit.

Creado y mantenido por Udit Agarwal

Abre el Generador de fórmulas de Excel

Acerca de Generador de macros VBA

La mayoría de las macros de Excel son variaciones de un pequeño conjunto de patrones: encontrar la última fila, recorrer sin saltarse filas, copiar coincidencias a otro sitio, guardar un archivo. El Generador de macros VBA para Excel convierte esos patrones en formularios. Elige una macro de la biblioteca con búsqueda, rellena el nombre de la hoja, la letra de la columna, el rango o la carpeta, y el código se actualiza mientras escribes. Cada macro empieza con Option Explicit, declara sus variables, cuenta las filas como Long, encuentra la última fila con End(xlUp), evita Select y Activate, y termina con un controlador de errores que siempre vuelve a activar la actualización de pantalla, los eventos y el cálculo. Las macros que borran, sobrescriben, escriben archivos o crean correos llevan una etiqueta de riesgo y un recordatorio para probar en una copia. Copia el código o descarga un archivo .bas; nada de lo que escribes se sube.

Características

  • Más de 50 macros en siete grupos: bucles, limpieza, dividir y combinar, archivos y correo, hojas y diseño, eventos y cuadros de diálogo
  • Los ajustes se validan: nombres de hoja, letras de columna, rangos, nombres y números se comprueban antes de que aparezca ningún código
  • Las comillas y los saltos de línea de tu texto se escapan para que un valor nunca pueda romper el VBA generado
  • Option Explicit, variables declaradas, contadores de fila Long y detección de la última fila con End(xlUp) en cada macro
  • Controlador de errores que restablece la actualización de pantalla, los eventos y el cálculo incluso cuando algo falla
  • Etiquetas de riesgo y recordatorios para las macros que borran datos, escriben archivos o crean correos
  • Elige el nombre del procedimiento, activa o desactiva los comentarios y trabaja en este libro o en el activo
  • Copia el código o descarga un archivo .bas, con instrucciones paso a paso para pegarlo y guardarlo como .xlsm

Cómo usar Generador de macros VBA

  1. Busca o explora la biblioteca y elige la macro que encaje con tu tarea
  2. Rellena los ajustes —nombre de hoja, letra de columna, rango, carpeta o texto— y corrige lo que se señale
  3. Copia el código o descarga el archivo .bas
  4. En Excel pulsa Alt+F11, elige Insertar > Módulo, pega, pulsa F5 y guarda el archivo como .xlsm

Ejemplo

Entrada

Macro:            Delete blank rows
Sheet:            Orders
Blank means:      every cell in the row is empty
First row to check: 2

Salida

Public Sub DeleteBlankRows()
    ...
    Set ws = ThisWorkbook.Worksheets("Orders")
    lastRow = ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1
    For r = lastRow To 2 Step -1
        If Application.WorksheetFunction.CountA(ws.Rows(r)) = 0 Then
            ws.Rows(r).Delete
            removed = removed + 1
        End If
    Next r

El bucle recorre de abajo hacia arriba para que borrar una fila nunca haga que se salte la siguiente.

Errores comunes y solución de problemas

  • Al pegar el código aparece “Error de compilación: Variable no definida” o “Se ha detectado un nombre ambiguo”. — Pega todo el bloque generado en un módulo vacío. Cuando combinas varias macros en un mismo módulo, las pequeñas funciones auxiliares se repiten: conserva una sola copia de cada una.
  • La macro no hace nada, o Excel dice que las macros están deshabilitadas. — Guarda el archivo como Libro de Excel habilitado para macros (.xlsm) y luego habilita las macros desde Archivo > Opciones > Centro de confianza. Habilítalas solo en archivos en los que confíes.
  • Error en tiempo de ejecución 9: El subíndice está fuera del intervalo. — El nombre de hoja de los ajustes no existe en el libro con el que trabaja la macro. Revisa la ortografía y si debe trabajar en este libro o en el activo.
  • Una macro que borró o sobrescribió datos no se puede deshacer. — Los cambios de VBA se saltan Ctrl+Z. Ejecuta siempre primero en una copia de tu libro las macros que borran, sobrescriben o escriben archivos.

Preguntas frecuentes

¿Cómo decide el Generador de macros VBA qué código producir?
Cada macro de la biblioteca es un patrón probado con ajustes tipados. Tus valores se validan y luego se colocan en el código en el lugar correcto, entrecomillados cuando hace falta, así que el resultado es VBA corriente que puedes leer, editar y reutilizar; no hay nada de adivinar.
¿Por qué incluye un controlador de errores cada macro generada?
Las macros que desactivan la actualización de pantalla o los eventos dejan Excel en un estado confuso si se detienen a medias. El controlador vuelve a activar esos ajustes pase lo que pase y después muestra el número y la descripción del error en lugar de un cierre brusco.
¿Usan Select o Activate las macros generadas?
No. Trabajan directamente con objetos de hoja y de rango, lo que es más rápido y no depende de lo que esté seleccionado en ese momento. Inmovilizar paneles es la única tarea que Excel vincula a la ventana, así que esa macro desplaza la vista con Application.Goto en lugar de seleccionar una celda.
¿Puedo usar estas macros en un Mac o en Excel para la web?
La mayoría funcionan en Excel de escritorio en Windows y muchas en un Mac, pero VBA no se ejecuta en Excel para la web. La macro de correo de Outlook necesita Outlook para Windows, y las rutas de archivo en un Mac usan barras normales en lugar de barras invertidas.
¿Qué diferencia hay entre un archivo .bas y pegar el código?
Un archivo .bas es un módulo que se importa con Archivo > Importar archivo en el editor de VBA; pegar hace lo mismo a mano. Pegar es más seguro si tu texto contiene acentos o símbolos, porque un archivo .bas se lee con el antiguo juego de caracteres ANSI.
¿Se envían a algún sitio mis nombres de hoja y rutas de archivo al usar el generador de macros?
No. Los ajustes y el código se quedan en tu navegador. No se sube nada, y el generador solo produce texto para que lo pegues en Excel.

Herramientas relacionadas

  • Generador de fórmulas de Excel — Elige una tarea, como sumas condicionales, búsquedas o fechas, y obtén una fórmula de Excel o Sheets lista para pegar.
  • Explicador de fórmulas de Excel — Pega una fórmula de Excel o Google Sheets y obtén un desglose paso a paso de cada función y argumento.
  • Limpiador de datos de Excel — Limpia hojas desordenadas: recorta espacios, corrige mayúsculas, quita vacíos y duplicados y exporta a .xlsx o CSV.
  • CSV a Excel — Convierte CSV o TSV en un libro .xlsx con formato: detecta el separador, da estilo al encabezado y admite varias hojas.
  • Excel a CSV — Exporta cualquier hoja de un libro .xlsx o .xls a un CSV limpio.
  • Generador de BUSCARV — Crea una fórmula BUSCARV correcta paso a paso, con SI.ERROR, BUSCARX, ÍNDICE y COINCIDIR y una prueba en vivo.
  • Generador de ÍNDICE y COINCIDIR — Genera fórmulas ÍNDICE y COINCIDIR para búsquedas a la izquierda, de doble entrada y con varios criterios, con prueba en vivo.

Más herramientas de Excel y hojas de cálculo

  • CSV a Excel — Convierte CSV o TSV en un libro .xlsx con formato: detecta el separador, da estilo al encabezado y admite varias hojas.
  • JSON a Excel — Convierte arreglos u objetos JSON anidados en un libro de Excel con columnas aplanadas, una hoja por arreglo y celdas con tipo.
  • Limpiador de datos de Excel — Limpia hojas desordenadas: recorta espacios, corrige mayúsculas, quita vacíos y duplicados y exporta a .xlsx o CSV.
  • Generador de BUSCARV — Crea una fórmula BUSCARV correcta paso a paso, con SI.ERROR, BUSCARX, ÍNDICE y COINCIDIR y una prueba en vivo.
  • Generador de ÍNDICE y COINCIDIR — Genera fórmulas ÍNDICE y COINCIDIR para búsquedas a la izquierda, de doble entrada y con varios criterios, con prueba en vivo.
  • Explicador de fórmulas de Excel — Pega una fórmula de Excel o Google Sheets y obtén un desglose paso a paso de cada función y argumento.
  • Generador de fórmulas de Excel — Elige una tarea, como sumas condicionales, búsquedas o fechas, y obtén una fórmula de Excel o Sheets lista para pegar.
  • Traductor de funciones de Excel — Traduce fórmulas de Excel entre inglés, alemán, francés, español y más idiomas, con los separadores correctos.

Ver todas las herramientas de Excel y hojas de cálculo (9) · Todas las herramientas