hi
have you tried a simple google search?
otherwise the book option is a good one but you'll never beat actually coding.
follow sites like this one, look at the problems that are posted and think about how you might be able to solve them. then see what the actual responses to questions are - a lot of the time there will be more than 1 option.
i went on a 'proper' course some time ago which gave be the basic understanding of vba such as object models and syntax but didn't really start to learn until i was out of work and spent quite a bit of time here solving problems - a lot of which i had to research myself!
one key factor i did pick up from the course i did was that xl vba is much easier when you know how xl works - how would you do something manually etc.
take that to the next level and record yourself doing something and view the resulting code. this code will generally be static and unfriendly but you soon learn what's necessary and what you can ignore - eg
recorded code might be
Code:
range("a1:c10").select
selection.interior.colorindex = 6
you might relise that you won't always want range a1:c10 as it might expand so you could use current region as you might in a worksheet and record the code again to get
Code:
range("a1").currentregion.select
selection.interior.colorindex = 6
which is a little more dynamic and will allow your range to be expanded.
next you'll find out that there is no need to select the cells to apply changes so this would perforn the same task (only more efficiently)
Code:
range("a1").currentregion.interior.colorindex = 6
happy hunting!
;-)