You can learn a lot by recording a macro (in Excel) and analyzing what has happened.
My primary programming language is C#, but for my communiction to Excel (or other Office/COM objects) I always use VB.Net. This makes it easier to transfer from VBA (recorded) to .Net.
VB.Net makes its easier to work with late binding. First I use early binding (gets me the Intellisense), afterwards I change my types to Object, so I don't depend on the specific version of Office anymore.