Suponiendo que desea aprovechar sus habilidades de Excel, Access y SQL, le sugiero que aprenda JavaScript y el conjunto de capacidades de Business Intelligence en Excel y SQL. Ahí es donde Microsoft está haciendo inversiones, y donde debe posicionarse.
Sugiero aprender JavaScript no porque pueda hacer algo diferente, mejor o más rápido que VBA, sino porque Microsoft ha decidido que JavaScript será el enfoque que tome para mover la programabilidad a plataformas que no sean escritorios Windows y Mac. Si desea poner código en línea en iPhone, iPad, Android, Windows phone u Office, solo se podrá escribir en JavaScript. VBA no se extenderá a esas otras plataformas.
Microsoft comenzó a impulsar JavaScript como un medio de extender la programabilidad de Excel, Word, Access, etc. hace varios años bajo el nombre de Agave. Las aplicaciones de Agave fueron capaces de incorporar datos externos a una aplicación de Office, pero eso fue todo. En el mundo real, nunca vi ni escuché que se usara un solo Agave. Algunos podrían estar disponibles, pero Agave era una solución que buscaba un problema y no encontraba ninguno.
Microsoft decidió arreglar la rotunda falta de éxito de Agave cambiando el nombre. Primero a Office Apps y luego a Office AddIns. Todavía no hay éxito.
En el otoño de 2015, Microsoft mostró mucho trabajo exponiendo el modelo de objetos de Excel (y presumiblemente otras aplicaciones de Office) a JavaScript. Finalmente, podría escribir código que realmente hiciera algo útil.
Escribir un complemento de Office significa aprender nuevas herramientas (Visual Studio) además del lenguaje JavaScript. A partir de la primavera de 2016, aún no puede grabar una macro. Debe repensar cómo aborda hacer las cosas (el código JavaScript se ejecuta de forma asíncrona en lugar de estar controlado por eventos). Y el código JavaScript se ejecuta muy lentamente, quizás del 1% al 10% de la velocidad de VBA.
Estoy seguro de que el código JavaScript finalmente se ejecutará más rápido de lo que lo hace hoy. Con futuras mejoras en la potencia del hardware, incluso el rendimiento actual del código JavaScript será lo suficientemente rápido como para ser útil.
Debido a que Microsoft sigue un imperativo de “la nube primero, primero el móvil” de la alta gerencia, definitivamente veremos soluciones JavaScript extendidas a las plataformas de Office en línea, iOS y Android, y posiblemente incluso a los teléfonos con Windows. Por razones más allá de mi alcance, se ha decidido que VBA nunca se extenderá a esas plataformas. Entonces, si desea que sus teléfonos y tabletas puedan hacer cosas de tipo VBA, tendrá que volver a escribir el código en JavaScript.
¿Microsoft abandonará el soporte para VBA en el futuro? No es una posibilidad, siempre y cuando los negocios dependan de ello. Su código VBA existente continuará ejecutándose durante décadas en el futuro en las computadoras de escritorio Windows y Mac OS. Para respaldar esta afirmación, aún puede ejecutar macros de Excel 4 a pesar de que ese lenguaje fue obsoleto por VBA en 1994. En adelante, a medida que se agreguen características a Excel, Access, Word, etc., VBA tendrá los objetos y métodos correspondientes. y propiedades extendidas para que esas características se vuelvan programables. Pero no se realizarán nuevas inversiones en el Editor de VBA o en extender VBA a otras plataformas.
También sugiero aprender las herramientas de BI en Excel y SQL. Microsoft está haciendo un gran esfuerzo para analizar big data, y las herramientas de BI como PowerPivot, PowerQuery y PowerMap están recibiendo grandes inversiones. Esas herramientas fueron complementos en Excel 2010 y 2013, pero ahora forman parte de la instalación básica de Excel 2016. Aún deberá comprar la versión más completa de Office para obtener capacidad de desarrollo (Office Professional Plus o la versión E3 de Office 365), pero cualquier solución que desarrolle puede ser vista por alguien que tenga incluso la versión menos costosa de Excel 2016.
Romper la barrera del millón de filas es enorme, y puede hacerlo con las herramientas de BI en Excel. Con Excel 2016 de 64 bits, puede manejar libros de trabajo increíblemente grandes. Múltiples CPU en un solo escritorio harán que las herramientas de BI se ejecuten rápidamente. Para obtener aún más potencia, puede ejecutar esas mismas herramientas de BI en un clúster de computadora de Azure de tiempo compartido para realizar minería de big data realmente rápido. Nunca olvides que Azure está cerca del corazón de Nadella y es una pieza esencial de su estrategia de “nube primero, móvil primero”.
En pocas palabras: sus habilidades con VBA en Excel, Access y SQL significan que probablemente se haya vuelto competente con el uso de esas herramientas en su trabajo diario. Si desea aumentar esa experiencia, aprenda JavaScript y las herramientas de BI. Ahí es donde el futuro se encuentra con las tecnologías de Microsoft.