How to Learn Excel VBA Online

by Daniel Gasteiger

You can build complex Excel spreadsheets that consolidate data from many sources without VBA macros. You can produce charts and reports that summarize virtually any aspect of your business and you can manage information as varied as customer databases, research data, inventory activity, and sports scores. Introduce VBA macros to the mix, though, and your spreadsheets can become dynamic, full-featured software applications.

Learning VBA isn't easy; it takes you beyond being an Excel user to becoming a computer programmer. The good news is: you can teach yourself VBA using resources available free online.


Learn Excel VBA. Look for nonmacro solutions before you start messing with VBA. If you don't know Excel's capabilities well, you're likely to write macros that do things you could accomplish instead with good spreadsheet design and a few mouse clicks.


Navigate to Microsoft's VBA for Excel 2003 training page. There is no equivalent page for Excel 2007, but you won't need version-specific knowledge until you've mastered the fundamentals of VBA.


Watch the introductory videos and work through the textual tutorials that introduce programming with VBA. There are three courses. Complete them, do the practice sessions and take the tests.


Complete the VBA tutorials at and Xlpert offers a free eight-lesson course, while xl-vba's course has 23 lessons. The writing doesn't sparkle and there's a lot missing (to encourage you to buy a complete course), but the material will reinforce what you learned from Microsoft's site. Repetition is useful when learning a new language.


Build a spreadsheet that does something useful for you, then turn it into a macro-driven application. When you feel stymied--and you will from time to time--press the F1 key to activate Excel VBA's help system. You can learn VBA entirely from the help system, but it would be very hard if you're not already a programmer.


Visit Microsoft's developers' forums to research problems and ask questions of other programmers. A link below leads to the forums page where you'll find a list of several Excel-related discussion groups.


  • check As early as possible in your studies, start writing macros to make Excel do your own bidding. You'll learn faster when you make the material personal and you'll quickly assemble a list of questions to guide future study and research.
  • check Explore Microsoft's Developer Network and read some of the technical articles there. Some features they teach may provide macro-free solutions to problems you're having.


  • close Don't be fooled by the tone of tutorials that teach VBA. Everyone wants you to think it's easy to automate Excel. But consider: VBA is a very complex programming language running on a complex software application. Many professional programmers have four-year college degrees in computer science.

About the Author

Daniel Gasteiger earned a degree in psychology from Cornell University. He has published more than 300 articles in consumer magazines. He has authored or co-authored five books and dozens of subscriber-supported newsletters. Gasteiger blogs about gardening, writing, and social networking. He provides social marketing training and services to companies who want to modernize their marketing programs. Visit Gasteiger's blog at