Record macros, observe what the generated code is doing. Try to understand what is going on. If you don't understand, open up the Help file inside of the Visual Basic screen.
Search for things in the Visual Basic Help File. Read up on the Object Members (Events, Properties, Methods)
Go to the
VBA Visual Basic for Applications (Microsoft) forum and find a topic that you think you know the answer to, or understand the question. Read the replies. If you KNOW you know the answer, set up an example for yourself of the solution, and post on the thread! Teaching is one of the best methods of learning.
The
Object Model Reference on MSDN is indispensable. They should all be in the help file, but the help file isn't the most easy to use (especially in 2007)
Once you get more comfortable, you should start trying to write all of your code from scratch (not recorded). This will give your brain some very good exercise on the syntax.
I'm sure someone else will come along with more suggestions, or disagree with me.