is visual basic a dead programming language?

When you go search what programming language you should start learning, visual basic for applications rarely makes it even to the bottom of the list. But, does it mean it is a dead language?

That obviously depends on, what you want to achieve. I will focus to present my perspective though. Being a mechanical engineer, where programming is not a priority knowledge, but rather an auxiliary skill to increase the efficiency of certain areas of work I went through different solutions and frankly, none of them was so useful as VBA Visual Basic for Application is.

First of all, I cannot imagine an engineering company that does not have access to the Microsoft Office environment available. Nowadays, it is a must and VBA, being a product of Microsoft, works seamlessly with almost all Office applications. Almost, because newly released apps like Planner, Teams and Office web apps do not support VBA at all. It is a downside, but does not disqualify other positive aspects. So as long as you are using desktop version of Excel, there is nothing to worry about.

Speaking of Excel. When trying other languages to support my work, the biggest obstacle was that scripts were running perfectly, but on my computer only. I cannot share it with the team without pre-installing them python language or deploying executable file which I would rather omit as I wanted to keep the process as simple as possible. And that is the part that VBA does extremely well. The programming environment is built-in, so you can access it directly from Excel. Moreover, if you want to share your scripts with the team, you simply share a workbook, and they have it up and running in no time.

Another advantage is that majority of engineering software is supporting VBA. Engineering work is often combined with Excel spreadsheets either way, thus this functionality allows users to improve this connection by automating it the way you need. Excel alone is a powerful tool I cannot imagine working without. I use it to store relevant data about the project which I can import or export to CAD or FEM software in no time and effort.

Being fully aware that some languages give incredibly higher performance and advanced libraries to support the workflow I stand my ground that for mechanical engineers, the functionality of VBA is more than sufficient. Moreover, it is extremely easy to learn with plenty of resources available online. In my opinion, one of the bigger challenges is that VBA, due to the fact that it is not used by software engineers, is not associated with new and modern solutions that are broadly used in other technologies which can be adopted to VBA as well and make someone’s life easier.

Having said that, I aim to describe solutions that are not directly focused on VBA users, yet I found them useful. I have already spent time looking for them and configuring them to fit my needs, thus I hope I can at least save some time of yours.