VBA, Python, Power Query o Power Automate: ¿cuál necesitas?
Nos dedicamos a programar en VBA y aun así esta comparativa dice, con nombres y apellidos, cuándo VBA no es la respuesta. Que un cliente contrate la herramienta equivocada acaba siempre igual: el proyecto se abandona y la culpa se la lleva la automatización en general.
Cuéntanos tu casoLa respuesta corta
La pregunta útil no es «cuál es mejor», sino «dónde vive el proceso y quién lo ejecuta». De ahí sale casi siempre la respuesta:
- El proceso vive en ficheros de escritorio y lo lanza una persona → VBA.
- Solo hay que importar, limpiar y combinar tablas → Power Query, que ya viene en tu Excel.
- El proceso conecta servicios en la nube y se dispara solo → Power Automate.
- Hay volúmenes grandes, estadística o integración con sistemas externos → Python.
- Todo el equipo trabaja en Excel para web con Microsoft 365 → Office Scripts.
- Quieres ayuda puntual analizando o escribiendo fórmulas → Copilot, que no es automatización.
La distinción que más dinero ahorra: «transformar datos» no es lo mismo que «automatizar un proceso». Si lo único que haces es juntar tablas y limpiarlas, Power Query lo resuelve gratis y no necesitas contratar a nadie. Si además hay que decidir según reglas, escribir en una plantilla de Word, mandar correos o avisar de errores, entonces estás ante un proceso y hace falta programarlo.
VBA: el que ya está instalado
VBA es el lenguaje incluido en las versiones de escritorio de Microsoft Office. No se compra, no se instala y no necesita permisos: está dentro del Excel que la empresa ya paga.
Dónde gana: cuando el proceso ocurre encima de ficheros que ya existen, con formato que importa, y lo lanza una persona pulsando un botón. Controla Excel, Word, Outlook, Access y PowerPoint desde el mismo sitio, funciona sin conexión y el resultado se queda en el ordenador del cliente: ningún dato sale de la empresa.
Dónde pierde: no existe en Excel para web. No es la mejor herramienta para volúmenes de cientos de miles de filas con cálculo intensivo. No se dispara solo por un evento en la nube. Y aunque Microsoft lo sigue manteniendo, no invierte en él: las novedades van a Power Query, Office Scripts y Power Automate. Quien te diga que VBA está muerto exagera —hay macros de hace veinte años funcionando hoy—, pero quien te diga que es el futuro, también.
Power Query: el que probablemente ya te sirve
Viene incluido en Excel y es, de largo, la herramienta más infrautilizada del paquete. Importa datos de ficheros, carpetas, bases de datos y webs; los limpia, los transforma y los combina; y guarda esos pasos para repetirlos con un clic cada vez que llegan datos nuevos.
Dónde gana: todo lo que sea preparar datos de forma repetible. Si tu proceso consiste en abrir quince ficheros, quitar cabeceras, unificar formatos y pegarlos en una tabla, Power Query lo hace y no hace falta programar ni una línea.
Dónde pierde: en cuanto hay que decidir. Power Query transforma, no razona sobre reglas de negocio complicadas, no genera documentos de Word, no manda correos, no muestra formularios al usuario ni escribe respetando el formato de una plantilla. Tampoco te avisa por email cuando un dato viene mal.
Python: el mejor lenguaje, no siempre la mejor herramienta
Como lenguaje es superior a VBA en casi todo: más limpio, con un ecosistema enorme y mejores herramientas de desarrollo. Eso es cierto y no tiene discusión. Pero automatizar Excel en una pyme no es un concurso de lenguajes.
Dónde gana: volúmenes que Excel no aguanta, análisis estadístico, aprendizaje automático, procesos que corren en un servidor sin nadie delante, integración con APIs y bases de datos. Si tu problema es de datos más que de oficina, Python es la respuesta.
Dónde pierde: hay que instalarlo en cada equipo, normalmente con permisos de administrador, y mantener las dependencias actualizadas. Manipula ficheros Excel bien, pero controla la aplicación Excel bastante peor, y con Word directamente mal. Y hay un factor que se ignora demasiado: cuando el programador se va, dentro de la empresa suele haber alguien capaz de abrir el editor de VBA y tocar un valor. Un entorno de Python roto no lo arregla el administrativo que usa el fichero.
Microsoft ha añadido Python dentro de Excel, pero conviene saber que en esa modalidad el cálculo se ejecuta en la nube de Microsoft y requiere suscripción: no es un sustituto directo de una macro que corre en local.
Power Automate: el que orquesta, no el que trabaja dentro del fichero
Su terreno son los flujos entre servicios: llega un formulario, se guarda en SharePoint, se avisa por Teams, se genera una tarea. Se dispara por eventos, sin que nadie pulse nada. Existe además una versión de escritorio para automatizar la interfaz de aplicaciones que no ofrecen otra vía.
Dónde gana: conectar cosas. Si tu proceso empieza en un correo y termina en una carpeta compartida, este es su sitio.
Dónde pierde: manipulando el interior de un libro de Excel con lógica de verdad. Los conectores de Excel son limitados, la depuración es incómoda y las partes potentes suelen requerir licencias adicionales que conviene comprobar antes de diseñar nada. Lo habitual en empresas grandes es combinarlo: Power Automate lanza y coordina, y el trabajo fino dentro del fichero lo hace VBA u Office Scripts.
Office Scripts: el VBA de la web
Es la apuesta de Microsoft para automatizar Excel en el navegador, escrito en TypeScript y pensado para integrarse con Power Automate. Si tu empresa ha migrado del todo a Microsoft 365 y la gente trabaja en Excel para web, este es el camino que Microsoft quiere que tomes.
Dónde pierde: requiere Microsoft 365 —no funciona con un Office comprado por licencia perpetua—, no controla Word ni Outlook como lo hace VBA, y su alcance sigue siendo menor. Para una empresa cuyo proceso vive en una carpeta de red con ficheros de escritorio, no aporta nada.
¿Y Copilot o ChatGPT?
Es la pregunta de moda y merece una respuesta seria. La IA escribe fórmulas, explica datos, sugiere enfoques y genera código que a menudo funciona. Para una tarea puntual, es una ayuda real y conviene usarla.
Lo que no hace es conocer tu proceso. Y ahí está el problema, porque una automatización no falla en la parte fácil: falla en el cliente que factura de otra manera, en el mes en que el ERP exporta la columna cambiada, en el fichero que llega con una fila en blanco al principio. Nada de eso está escrito en ningún sitio: vive en la cabeza de quien hace el proceso cada semana. Sacarlo de ahí, ponerlo por escrito y decidir qué debe pasar en cada excepción es la mitad del trabajo, y es exactamente la mitad que la IA no puede hacer por ti.
Dicho sin rodeos: si tu proceso es sencillo y estable, pídele el código a la IA y ahórrate contratar a nadie. Si lleva años dando problemas, el código nunca fue la parte difícil.
Comparativa rápida
| Herramienta | Coste extra | Dónde corre | Su punto fuerte | Su límite |
|---|---|---|---|---|
| VBA | Ninguno | Tu ordenador | Excel, Word y Outlook juntos, sin conexión | No existe en Excel para web |
| Power Query | Ninguno | Tu ordenador | Limpiar y combinar datos, repetible | No decide, no escribe en Word, no envía correos |
| Python | Instalación y mantenimiento | Local o servidor | Volumen, estadística, integraciones | Instalar en cada equipo; flojo con Word |
| Power Automate | Licencia según el uso | Nube | Conectar servicios y disparar por eventos | Débil dentro del libro de Excel |
| Office Scripts | Requiere Microsoft 365 | Nube | Excel para web, integrado con flujos | No controla Word ni Outlook igual |
| Copilot / IA | Licencia aparte | Nube | Ayuda puntual, fórmulas, análisis | No conoce las excepciones de tu proceso |
Tres casos y qué elegiríamos
«Cada lunes junto quince Excel de las delegaciones en un informe.» Si solo hay que apilar y limpiar, Power Query, gratis y sin programador. Si además hay que cuadrar contra el mes anterior, marcar desviaciones, generar un PDF por delegación y enviarlo, entonces es un proceso: VBA.
«Genero ciento veinte contratos en Word a partir de una tabla de Excel.» Si el documento es sencillo y de estructura fija, la combinación de correspondencia de Word puede bastar. En cuanto hay cláusulas condicionales, tablas de longitud variable o hay que guardar cada documento con su nombre en su carpeta, VBA sin discusión: es donde más despega frente a todo lo demás.
«Quiero un aviso en Teams cuando llegue un pedido nuevo al formulario.» Eso es Power Automate y no deberías contratar a nadie: se monta en una tarde y no requiere programación.
El error que más caro sale
Elegir por moda en lugar de por proceso. Se ve una y otra vez: la empresa monta la solución en la tecnología de la que todo el mundo habla, funciona en la demo, y a los seis meses nadie la usa porque exigía un mantenimiento que allí dentro nadie puede dar.
El criterio que aguanta el tiempo es otro: la herramienta correcta es la que sigue funcionando cuando quien la programó ya no está. Para una pyme con Office de escritorio, eso suele ser VBA. Para una empresa migrada a Microsoft 365, suele ser Power Automate con Office Scripts. Y a veces es no automatizar nada y cambiar quién hace qué.
Si tienes dudas sobre tu caso concreto, cuéntanoslo. Te decimos qué herramienta encaja aunque la respuesta sea «esto lo resuelves tú solo con Power Query y no nos necesitas». Ha pasado más de una vez y sale más a cuenta que cobrar por algo que no hacía falta.
Preguntas frecuentes
No está obsoleto en el sentido de que deje de funcionar: Microsoft lo sigue incluyendo en las versiones de escritorio de Office y las macros existentes se ejecutan con normalidad. Lo que sí es cierto es que Microsoft no lo desarrolla activamente: las funciones nuevas llegan a Power Query, Office Scripts y Power Automate. Para procesos de escritorio en Excel y Word sigue siendo la opción con menos fricción, pero no es donde Microsoft está invirtiendo.
Python es mejor lenguaje, pero eso no lo convierte en la mejor herramienta para el problema. Python exige instalarlo en cada equipo, con permisos de administrador y mantenimiento de dependencias, y no controla bien la interfaz de Excel ni la de Word. Gana cuando hay volúmenes grandes, cálculo estadístico o integración con sistemas externos. Pierde cuando lo que se necesita es un botón dentro del Excel que ya usa el equipo.
En parte y solo en algunos escenarios. Power Automate destaca conectando servicios en la nube (SharePoint, Outlook, Teams, Forms) y disparando flujos por eventos. Es débil manipulando el interior de un libro de Excel de escritorio con lógica compleja. Muchas empresas acaban usando ambos: Power Automate para orquestar y VBA u Office Scripts para el trabajo dentro del fichero.
Pueden escribir fórmulas, explicar datos y generar código que funciona en casos sencillos. Lo que no hacen es conocer las excepciones de tu proceso: el cliente que factura distinto, el fichero que llega con la columna cambiada, el mes en que el ERP exporta mal. Ahí es donde falla una automatización, y es exactamente la parte que requiere que alguien entienda el proceso antes de programarlo.
Muchas veces sí, y cuando lo es hay que decirlo. Power Query viene incluido en Excel y resuelve muy bien importar, limpiar y combinar tablas de forma repetible. Se queda corto cuando hay que decidir según reglas de negocio, generar documentos en Word, enviar correos, interactuar con el usuario o escribir sobre plantillas con formato. Ese es el terreno de VBA.
¿No sabes cuál encaja en tu caso?
Descríbenos el proceso y te decimos con qué herramienta se resuelve, aunque la respuesta sea que no nos necesitas.
¿Prefieres escribirnos directamente? info@fusionik.com