1) Om du bara ska koda makron är det mycket billigare att välja VBA… det ingår i MS Office och är lite lättare att lära sig / använda med Office. Om du vill göra göra mer kodning än bara office-makros så vill du förmodligen investera i Visual Studio. Viss kodningserfarenhet kommer att överföras mellan VBA och VB-koden i Visual Studio, men Visual Studio är en komplett kodningsmiljöplattform avsedd för att koda skrivbordsprogram. Inlärningskurvan är mycket brantare på grund av dess större mångsidighet.
2) Visual Studio kommer inte nödvändigtvis att hjälpa dig att använda Excel (oavsett smak). VBA-kod kommer att göra det eftersom den endast fungerar inom MS Office. Så för att koda VBA måste du ha MS Excel öppet. VBA ger dig också en större förståelse för hur Excel fungerar eftersom det mest handlar om manipulering av data och intervall i Excel. Visual Studio fokuserar inte enbart på Office och skulle därför vara mindre fördelaktigt för att lära sig Excel.
3) Inte all Excel 2007 VBA kommer nödvändigtvis att fungera för tidigare versioner. Om man förstår det kommer det mesta av koden att översättas utan att man behöver koda om något av den. Om du programmerar ett VBA-makro i tidigare versioner av Excel så fungerar de nästan alltid (Nej, inte alltid, det finns alltid undantag) med nyare versioner. Den främsta anledningen till att Excel 2007-kod kanske inte fungerar med en tidigare version är om du använder nyare syntax eller objekt som inte finns i tidigare versioner.
Hoppas att detta hjälpte.