1) Ha csak makrókat fogsz kódolni, akkor sokkal olcsóbb a VBA… az MS Office-hoz jár, és egy kicsit könnyebb megtanulni/használni az irodával. Ha szeretnél többet kódolni, mint csak office makrókat, akkor valószínűleg a Visual Studio-ba akarsz beruházni. Néhány kódolási tapasztalat átkerül a VBA és a Visual Studio VB kódja között, de a Visual Studio egy teljes kódolási környezet platform, amely asztali alkalmazások kódolására szolgál. A tanulási görbe sokkal meredekebb a nagyobb sokoldalúsága miatt.
2) A Visual Studio nem feltétlenül segít az Excel (bármilyen ízű) használatában. A VBA kód fog, mert csak az MS Office-on belül működik. Tehát a VBA kódoláshoz meg kell nyitnod az MS Excel-t. A VBA az Excel működésének jobb megértését is lehetővé teszi, mivel leginkább az adatok és tartományok Excelen belüli manipulálásával foglalkozik. A Visual Studio nem kizárólag az Office-ra összpontosít, így kevésbé lenne előnyös az Excel megtanulásához.
3) Nem minden Excel 2007 VBA feltétlenül működik a korábbi verziókban. Ennek megértése mellett a kód nagy része lefordítható anélkül, hogy bármit is át kellene kódolni. Ha egy VBA makrót az Excel korábbi verzióiban programozunk, akkor azok szinte mindig (Nem, nem mindig, mindig vannak kivételek) működnek az újabb verziókkal. Az elsődleges ok, amiért az Excel 2007 kód nem működik egy korábbi verzióval, az az, ha újabb szintaxist vagy a korábbi verziókban nem elérhető objektum(ok)at használ.
Remélem, ez segített.