If you are trying to automate some actions in the UI, use the record macro functionality and then edit the code. You can usually remove or combine a lot of the code it recorded.
If you want to use dictionaries/hashtable there is a reference you can add called scripting.dictionary.
When you search google for how to do stuff in VBA, most of the best answers are in Ozgrid and MrExcel sites, and of course StackOverflow.
My favorite reference is the VBA Developer's Handbook by Getz & Gilbert from 2001.
You can probably learn everything you need from Googling for solutions to problems, but that book was great when I was committed to working with Excel and Access for a while. It covers a lot of things you're not going to think to search about.
If you have any specific questions about VBA feel free to contact me. I spent a couple of years on macros in various contexts and still have loads of links. (I second the links already posted)
http://msdn.microsoft.com/en-us/library/office/ff838238%28v=...
Close behind are Collections and UDTs. The best thing to level up after you're comfortable is with 'Implements' for interfaces.
I found that search engines are as good as any book for this stuff. It's smeared all over the internet.
The best place I know of to get a good understanding is http://www.cpearson.com/excel/MainPage.aspx, but it's not a tutorial.
edit: that's what I get for keeping this window open too long:) That's 2 votes for cpearson.com.