Respuesta corta: es probable que estés bien durante un tiempo todavía.
Respuesta larga: VB6 (que es lo que VBA realmente es) es casi un lenguaje muerto, incompatible, actualizado por última vez hace una década con un IDE del mismo período. Solo está presente porque está integrado en Office y hay millones de aplicaciones de Office que dejarían de funcionar si se eliminara o cambiara VBA. Sin mencionar a millones de usuarios muy molestos.
Entonces, ¿cómo avanzar? ¿Se puede volver a implementar Office en el código administrado? ¿Microsoft quiere hacer eso en absoluto? ¿Van a hacer una ruptura de compatibilidad hacia atrás aún mayor que la cinta de opciones y simplemente descartar la noción de grabación de macro e interpretar el código incrustado? Simplemente no puedo ver a mis usuarios llevándose a VB.NET en Visual Studio, usando COM Interop y otras cosas.
Si tuviera que poner dinero en un resultado (y no me gustaría apostar mucho incluso entonces) estaría mirando el Dynamic Language Runtime y el hecho de que varios idiomas están en varios estados de preparación para ejecutarlo . Supongamos que el DLR, con algún reemplazo adecuado o envoltorio para el modelo COM de la aplicación Office, reemplazara el tiempo de ejecución de VB6. Además, supongamos que VBA se implementó como un lenguaje DLR. Ahora VBA heredado continuará ejecutándose, solo en un intérprete diferente (moderno, compatible) y en la negociación, podemos programar macros de Excel en Python, Ruby o cualquier otro lenguaje DLR que nos apetezca.
Pero esa es solo mi mejor suposición: no tengo ni idea de si realmente va a suceder algo así o no. Sin embargo, me encantaría poder programar macros de Excel en Ruby.
"una empresa que se ejecuta en hojas de Excel" ... déjame adivinar, ¿estás trabajando en un banco? Siempre me sorprende, como contratista, ver giga-bancos de nivel mundial corriendo en hojas xl. –