1) Si sólo va a codificar macros entonces es mucho más barato ir con VBA… viene con MS Office y es un poco más fácil de aprender / usar con la oficina. Si desea hacer más codificación que sólo macros de oficina, entonces probablemente querrá invertir en Visual Studio. Alguna experiencia de codificación se transferirá entre VBA y el código VB en Visual Studio, pero Visual Studio es una plataforma de entorno de codificación completa destinada a codificar aplicaciones de escritorio. La curva de aprendizaje es mucho más pronunciada debido a su mayor versatilidad.
2) Visual Studio no necesariamente le ayudará en el uso de Excel (cualquier sabor). El código VBA lo hará porque sólo funciona dentro de MS Office. Así que para codificar VBA tendrás MS Excel abierto. VBA también le da una mayor comprensión de cómo funciona Excel porque se ocupa principalmente de la manipulación de datos y rangos dentro de Excel. Visual Studio no se centra únicamente en Office por lo que sería menos ventajoso para aprender Excel.
3) No todo el VBA de Excel 2007 funcionará necesariamente para las versiones anteriores. Entendiendo esto, la mayor parte del código se traducirá sin necesidad de recodificar nada. Si usted programa una macro VBA en versiones anteriores de Excel entonces casi siempre (No, no siempre, siempre hay excepciones) funcionan con las versiones más nuevas. La razón principal por la que el código de Excel 2007 podría no funcionar con una versión anterior es si usted utiliza una sintaxis más nueva o un objeto(s) no disponible en las versiones anteriores.
Espero que esto haya ayudado.