Is VBA still a desirable skill to have?

github logo ・1 min read

I am a data analyst at an energy company. I recently had to automate a few Microsoft Excel functions for a colleague using VBA, although I had initially written the code in Python. That got me thinking if VBA is still widely used in the tech world? I'm new to the tech industry. Any suggestions, feedback and tips are appreciated! Thanks :)

twitter logo DISCUSS (14)
markdown guide

VBA will stay relevant as long as Excel stays relevant, because while there are ways to automate Excel using other languages, they require more ceremony and you can't bundle their code in the spreadsheet file.

(And yes, VBA can be used to automate other MS Office products, but Excel probably has the lion share here)


Agree! Sometimes using VBA becomes a matter of contextual convenience.


VBA is a case similar to COBOL, though thankfully there's probably far less code written in it that's critical for international infrastructure (there are a lot of big financial institutions that still depend heavily on COBOL).

Realistically, you're not likely to encounter it with any significant frequency unless you work at a company that insists on not moving to newer alternatives.


I've never used COBOL haha, but agree about finance institutions relying on VBA/COBOL


Excel is very important in finance. VBA is frequently written by non-software folks to solve problems faster. Eventually the code becomes a critical workflow. You can add value by being able to update or convert that into a more stable, supportable software systems. There is a demand for that specialty if you like upgrading things.


True! I work in the credit/finance department and VBA is used by all the non-software people there. I'd like to be able to code in Python but it is what it is. Gotta conform to the company preferences and protocols :3


You may be able to run python with XLWings or similar within Excel. You can always make suggestions and remind them python is growing in popularity.


I don't think it is. Like others have said there is probably some legacy stuff floating around.

That said I still use it every now and then. Sometimes excel is the right tool for the job and sometimes you need to extend excel just a bit with a custom function. I know just enough to add a bit of functionality.


I think this is not an skill to develope for people starting in this world. Now, there are more options and, overall, more powerful tools for doing the kind of stuff VBA does. As an example, take a look on PowerBI and it's Report Designer, charts are so easy to implement. Doing other kind of tasks like cell calculation from other values can be adpat to other applications, you have the O365 suite with SharePoint, PowerApps and Flow that let people work in the cloud and not be chained to the desktop.

To wrap up, VBA is still used nowadays but in the same way as Cobol, people that has very important processes running that doesn't want to change for lot of reasons like money, time, etc.


For example, at the university I've learnt VBA for a semester. After I've found for me GAS (Google Apps Script) and ExcelJs, which are more comfortable for developing some feature for excel


Excel is probably one of the biggest application platforms in the world, unfortunately. There are companies out there where major operations take place in a magic spreadsheet that was designed 10 years ago by some bored intern who is now long-gone. No one understands how it works or what it does, and it breaks if you stare at it the wrong way. So they deal with it because no one wants to decipher the requirements represented by that application.

There's always going to be a place for it, but it probably is not the place that you want to be! If it really is super important, wait until they have resigned to paying a consultant $150/hr to figure it out and counteroffer :P

Classic DEV Post from Jan 13

The Best Books for New Devs + Bonus Twitter Thread

Nashia Fairuz profile image

😓 Sore eyes? now has a dark version (in public beta).

Go to the "misc" section of your settings and select night theme ❤️