C++ over VB definitely IMO. VB is useless and babies you way too much, if you want your programs to have any power, go with C++
The best way to learn is in a group of people working on projects much ahead of you, with a teacher who knows exactly how to solve it. The teacher nudges you in the right direction, and you learn tricks while solving problems. Atleast imo that's the best way to learn.