In answer to your questions...
- VBA Is the language which is used to drive office automation. As Jordan said, it stands for Visual Basic (for) Applications
- VBA is a suitable starting point if you just want to impress the office Dev. If you actually want to learn how to program (as your husband does) then start out learning another language called C++ but be warned... its hectic stuff. I suggest you google the phrase 'STarting out with VBA' or 'VBA for beginners' and the like. You will find some helpful tutorials
- Instead of trying to find a book and learn it all, set yourself a task, such as 'Create a macro that will find all cells in a spreadsheet that have my name in them and replace them with 'I WIN'. You will rapidly come up with more specific questions as you try that
- Classes are offered, most classes in Excel and other office courses will offer an advanced section for macro programming
- Ask specific questions. Instead of asking 'how do i write this program' ask 'how do i find a particular cell in a spreadsheet'. You get much better responses that way