Se pueden hacer muchas cosas,
1) Puedes descargar y subir datos a bases de datos remotas; esto te permitiría compartir información con otras personas que estén lejos, es decir verían la misma información y podrían modificarla(solo si tu quieres) y verías los cambios al instante.
2) Puedes Mostrar Mensajes, Ventanas, etc.
3) Puedes Hacer cálculos mas complejos que con formulas seria imposible
4) Puedes mejorar la captura de datos, por ejemplo crear ventanas con listas desplegables, calendarios para las fechas, etc. Aunque también se pueden crear listas desplegables en Excel sin VBA pero son menos funcionales y útiles ya que no permiten auto completado, y el limite de items es mucho menor.
5) Puedes, junto con alguna base de datos, separar la información de la interfaz, es decir tus datos los tendrías en tu base de datos y con Excel los presentarías en tablas, gráficos, etc, esto te permitiría hacer respaldos de tus datos, y te seria mas fácil manejar tu información y se mantendría la integridad de tus datos.
6) Las formulas son mucho mas "pesadas" que el código VBA, es decir las formulas hacen crecer la cantidad de memoria que ocupa el archivo e incluso puede hacer crecer el archivo a mas de 100 MB.
Algunas desventajas de VBA es que por lo general cambian algunos controles como por ejemplo, el calendario de Excel 2007 no es el mismo que el calendario de Excel 2010, y no son compatibles, por lo que no puedes usar un calendario que funcione en Excel 2007 y 2010, aunque también podrías crear tu propio calendario.
También algunos de los controles de VBA y también de VB6 ya están obsoletos y podrían no funcionar en Windows 7 y 8, aunque seria cuestión de probar. Por ejemplo el componente para usar Web Services (Sirve para obtener información en linea como el estado del tiempo, valor del dolar, etc) que si no mal recurso es el SOAP, ya esta obsoleto y me parece que no funciona en Windows 7 y 8, ademas de microsoft ya elimino el enlace de descarga (aunque lo puedes conseguir en otras paginas), y ya no da soporte para VB6 y en consecuencia tampoco para VBA.
Hay varias cosas que puedes hacer y sobre todo si usas bases de datos junto con VBA puedes hacer casi mismo que con VB6, pero en definitiva siempre es mejor VB6 ya que es mas estable en cuanto al uso de controles Activex. VBA se vuelve inestable cuando usas controles propios o controles muy sofisticados.
Para aprender VBA es muy similar a VB6, pero la ventaja es que en Excel existe el grabador de macros el cual te puede ayudar a aprender las instrucciones que se utilizan. Puedes aprender VBA aunque no sepas VB6 o VB.NET, pero si sería mas difícil aunque no imposible.