Cualquiera que se considere un usuario avanzado de Excel debería aprender VBA y usarlo para automatizar tareas rutinarias. Si pasa la mayor parte del día usando Excel, puede duplicar su productividad general al usar VBA, y obtener aún más dinero si sus colegas se aprovechan de su código.
El código VBA ahorra tiempo y aumenta la precisión al automatizar la rutina. Le permite concentrarse en la pequeña cantidad de cosas que son únicas en cada tarea, confiando en que todo el resto se haya manejado en un abrir y cerrar de ojos. El código VBA también permite que los nuevos empleados se vuelvan productivos mucho antes, ya que no se atascan en los detalles que el VBA ha automatizado.
He estado escribiendo el código VBA desde que salió Excel 5 en 1994. Mi primer proyecto fue calcular el rendimiento de algunos equipos de fabricación de hielo que mi empleador había licenciado. Tardé seis meses y 50 páginas de código en finalizar ese proyecto, y el cliente no estaba tan contento de recibir “solo una hoja de cálculo” como el producto final. Pero los métodos manuales que habían estado utilizando para este propósito eran mucho menos precisos, demoraban mucho tiempo para volver a verificar y dejaban a la empresa en riesgo de sobredimensionamiento (y, por lo tanto, no competitivos en las ofertas) y de tamaño insuficiente (un problema costoso de solucionar). en el campo). Con el código VBA, cada conjunto de cálculos de diseño tomó aproximadamente 10 segundos. Esto alentó al ingeniero de ventas a utilizar la hoja de cálculo para ajustar las entradas para optimizar el diseño comercial.
Desde entonces, he hecho del código VBA el punto focal de mi carrera. Cada vez que encontraba un cálculo que debía realizarse más de una vez, construía una hoja de trabajo con VBA para hacerlo. Cuando me encontré armando una lista de materiales para productos del tipo “modelo y opciones”, eso también podría automatizarse.
- ¿Cuánto tiempo tarda un petrolero de crudo en descargar su contenido?
- ¿Cuántos días tardarás en aprender a dibujar?
- ¿Qué lenguaje y herramientas de desarrollo web debo aprender si busco la ruta más rápida para el empleo?
- ¿Dónde puedo aprender SaaS gratis?
- ¿Por qué la programación es difícil de aprender como un tema de proyecto?
En un momento dado, mi trabajo giraba en torno a la recopilación de paquetes de entregables para que los revisaran el cliente y la empresa de ingeniería que gestionaba su proyecto general. El equipo que producimos estaba regulado por la FDA, por lo que el único paquete de entrega aceptable era uno que no tenía errores ni omisiones. A pesar de los años de experiencia, mis métodos manuales siempre tuvieron un pequeño porcentaje de errores. Pero al automatizar la producción de cada entrega con VBA, conduje a cero el número de comentarios de línea roja.
Cada vez que un cliente hacía una solicitud de cambios que consumían mucho tiempo, también era una oportunidad para que ayudara el código VBA. Agregué código a mis libros de trabajo con VBA para manejar fácilmente tales solicitudes, por lo que el costo de cumplir con ellos fue prácticamente cero. Luego le pedí al vendedor que alentara al cliente a realizar dichas solicitudes, sabiendo que podríamos mantener el límite en el precio, mientras que nuestros competidores tendrían que aumentar sus ofertas.
La pregunta original consideraba la posibilidad de que algo pudiera estar reemplazando a VBA. De hecho, ese evento ocurrió hace cuatro años, y JavaScript fue elegido como sucesor de VBA porque es más compatible con la nube. VBA no se extenderá a ninguna plataforma, además de las versiones de Office y Windows de Mac. Si desea ejecutar macros en Excel Online o en su dispositivo iPad, iPhone o Android, debe usar Office-js.
Microsoft ha estado creando el modelo de objetos Office-js para que coincida con lo que puede hacer en VBA. Ese proceso aún está en curso, pero puede crear un código utilizable en Offrice-js en este momento. Y si intentara escribir el código de Office-js, notaría una serie de deficiencias en comparación con VBA.
- El código corre tanto como 10X a 100X más lento. No es un problema para tareas simples, pero sería para proyectos grandes.
- El código se ejecuta de forma asíncrona. Esto significa que debe diseñar su código para esperar a que se complete la tarea anterior antes de iniciar la siguiente.
- No hay grabadora de macros
- La documentación se mantiene en GitHub y se proporciona soporte técnico a través de StackOverflow. Contrasta esto con la gran cantidad de sitios web que te ayudan con VBA.
- El código de Office-js se ejecuta en un servidor. Por lo tanto, debe obtener la aceptación de su departamento de TI en cualquier proyecto que aborde. Con VBA, todo lo que necesita ya está instalado en su escritorio.
- Aunque soy un activo en los foros de ayuda de Excel, veo cero preguntas de personas que usan Office-js. Parece ser una solución buscando un problema.
- La codificación de Office-js está dirigida a profesionales del software. Aprendieron JavaScript en la escuela y ya tienen acceso a Visual Studio como un entorno de desarrollo de software.
- La codificación VBA ha sido dominada por trabajadores del conocimiento fuera del departamento de TI en contraste. VBA es un lenguaje fácil de aprender, y no necesita el permiso de nadie para comenzar a usarlo. La gran mayoría de los desarrolladores de VBA son usuarios motorizados autodidactas que necesitaban realizar su trabajo y desesperados por obtener la atención del departamento de TI para ayudarlos. Al escribir ellos mismos el código VBA, aumentaron su productividad personal y se hicieron más valiosos para los empleadores actuales y futuros.
Dado que Office-js ha sido elegido como sucesor de VBA, puede preguntarse por cuánto tiempo seguirá siendo relevante VBA. En respuesta, tenga en cuenta que las macros de Excel 4 continúan siendo compatibles incluso en Excel 2016, aproximadamente 23 años después de que se hayan vuelto funcionalmente obsoletas con la introducción de VBA. En la actualidad, se utilizan enormemente más libros de trabajo basados en VBA que los que usaban macros de Excel 4. En muchas organizaciones, esos libros de trabajo basados en VBA son absolutamente críticos para la misión. Microsoft se da cuenta de esto y continuará admitiendo VBA hasta que ya no sea relevante. Eso será décadas después de que tú y yo nos retiremos.