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 xlpert.com and xl-vba.com. 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.
Tips & Warnings
- 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.
- 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.
- 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.
How to Learn VBA Coding
Visual Basic for Applications (VBA) is the programming language that allows Microsoft Office users to extend the features of Excel, Access and...