I’ve earned my Charter and am now looking for the next hill to take. I work as a Sr. Analyst on a global tactial FoF and VBA seems to be a place I can add some additional value as I build out some more robust risk and allocation models. I’m tired of spreadsheets held together by string and bubblegum as they are never as reliable as they need to be regardless of how well written and organized they are.
The question: What is the best structured/comprehensive study course for VBA?
Videos don’t do much with my attention span. Read, Do, Repeat seems to be the best model for me, but every joe schmoe out there claims to be a VBA expert and there appears to be dozens of ‘courses’ to choose from. Let me know what you’ve done, what you liked and what you didn’t. Cost isn’t all that important, looking to maximize my time.
When I’ve hired for VBA roles, I have always found the best candidates are those with degrees that heavily relied on it so they learned it in school. So my recommendation is contact the local university and see if they have an even certificate program you can earn through structured courses, either online or in person. Even if they don’t, they should at least be able to point you in the right direction for self study. My experience has been you can reach out to the department head in any relevant department(s) over email and they are likely to respond and/or take your call and be helpful. Academic people like making connections with industry people. Good luck.
Step 1: Identify a problem you are having in Excel Step 2: Google "How do I fix ‘problem’ using Excel and VBA Step 3: Read various forums where people have posted similar problems Step 4: Copy code pasted into forum answers in a module and try to understand what it does in a workbook Step 5: Use the macro recorder, do some random repetitive exercise and see what comes out…analyze this, try to understand Step 6: Continue to do this and solve problems
Eventually, you will understand what the code means, you will learn more commands, proper syntax, optimization methods, and more. I learned on my own by tackling problems and lots of googling. Soon you won’t have to google, you will know from previous experiences…but google is always a great resource.
I second this. The only way to learn is to find a need for VBA / automation and start slowly and develop your skills little by little, but without a need, you will not have very much success learning the language. VBA does not require a CS degree. You just need experience. Just like learning a foreign language, you start with the very basics and then you will find yourself proficient once you have a year or so of coding experience. I thought for a long time that VBA was some sort of wizardry and to my surprise, the language is very intuitive and user friendly. Start finding small ways to automate repetitive tasks in excel and keep working your way up. Also, one of the best books I have read on VBA, hands-down, is “VBA for Dummies” by John Walkenback. Once you have read that and worked through the examples, then you can rely on google and the VBA recorder to help you learn the syntax of other code. Good luck and have fun.
That’s exactly what I’m doing right now. I found my local community college offers a certificate in Visual Basics and decided to take it. Not overly difficult but it does have a learning curve
I’d say this is spot on advice–someone above also recommended John Walkenbach, his books are extremely helpful. Another author to note would be Dennis Ritchie, here’s his website from the 90s. I think it’s the same Ritchie who created the C language. Some of these macros may not work in the current Microsoft Office version, but it can still be useful regardless:
Excellent response. This is coming from a Treasury Analyst who slowly learned VBA on his own as a means to get my foot in the door with companies after the recession when firms were not highering as quickly as before. It definitely takes patience, but you will succeed through repetition.
Advice: Macro recorder is your friend. While it is horrible because of it recording everything (including scrolling down a page), it gives you a general idea of how coding should look and it a good way to learn.
^ What I consider the holy grail. I can get anything answered by posting my code and asking for more simplified ways of writing the code or how to get something working that breaks down in line XX of the code. There are several other sites that you can find through Google. USE GOOGLE for almost everything. If you have tried to solve an issue, it has probably been done to some degree by someone else.
I also read “VBA and Macros for Microsoft Excel 2007” by Bill Jelen AKA Mr. Excel. It was an intermediate book, but I found the best way to learn is to dive into the complicated stuff and you’ll figure out the basics along the way.
I’m still not nearly as proficient as someone who got a degree in computer science or programming and has had extensive experience with VBA or coding in general, but over the 5 years of learning on and off for my various roles, I can definitely hold my own and am generally considered the automation guru at my company.