How do you learn new skills

How do you learn new skills? I have been working on learning some programming skills lately. Visual Basic. I have a background from high school programming Basic. I have purchased a couple of books and my team lead here is ok with it. He has written a tool that helps us in our job here and I have written a couple of apps to help us patch and update our anti-virus software for new machines and reloaded machines before they get on the network. The books are ok but I have mainly relied on code I have found online to do certain task within my app.

So, how do you learn new skills? Do you find stuff online? Buy books or just jump in head first with something and go at it?
Dj