1) Se você só vai codificar macros então é muito mais barato ir com o VBA… ele vem com o MS Office e é um pouco mais fácil de aprender/usar com o Office. Se você deseja fazer mais codificação do que apenas macros de escritório, então você provavelmente vai querer investir no Visual Studio. Alguma experiência em codificação será transferida entre o VBA e o código VB no Visual Studio, mas o Visual Studio é uma plataforma completa de ambiente de codificação destinada a codificar aplicativos desktop. A curva de aprendizado é muito mais acentuada devido à sua maior versatilidade.
2) O Visual Studio não necessariamente o ajudará no uso do Excel (qualquer sabor). O código VBA irá porque ele só funciona dentro do MS Office. Assim, para codificar o VBA você terá o MS Excel aberto. VBA também lhe dá uma maior compreensão de como o Excel funciona, pois ele lida principalmente com manipulação de dados e intervalos dentro do Excel. O Visual Studio não se concentra apenas no Office, portanto seria menos vantajoso para o aprendizado do Excel.
3) Nem todo o VBA do Excel 2007 funcionará necessariamente para versões anteriores. Entendendo isso, a maioria do código será traduzido sem a necessidade de recodificar nada dele. Se você programar uma macro VBA em versões anteriores do Excel então quase sempre (Não, nem sempre, há sempre exceções) funcionam com versões mais recentes. A principal razão pela qual o código do Excel 2007 pode não funcionar com uma versão anterior é se você usar uma sintaxe mais nova ou objeto(s) não disponível(s) nas versões anteriores.
Espere que isto ajude.