Is VBA (Visual Basic for Applications) dead?

Author: Ijaz Khan

VBA is Microsoft’s incredibly useful integrated programming language incorporated into the Office suite of products. Users love both the ease of use of the language and the ease with which Office (and 3rd Party) applications can be automated.If you were wondering whether VBA has outlived its productive life as the main Microsoft Office automation language then read on to find out why I believe VBA is here to stay.In my opinion the following points highlight why VBA remains such a widespread powerful automation tool:

VBA was first introduced into the Microsoft Excel program back in 1993

Excel to this date supports macros written from back then (and actually slightly before that with Excel 4.0 macros, which are also still supported!). That’s not far off thirty years at the time of writing this. If Microsoft are still supporting the language after this length of time then the chances of them pulling the plug anytime soon doesn’t seem likely.

  • The language is widely adopted – Due to the popularity and ease of use of the language, it is used worldwide to automate not only Microsoft Office tasks, but also a much wider range of applications due to third party add-ins and support. Along with the fact that
Vba has been around for so long, that’s a whole lot of companies who are dependent on VBA continuing to work for their current models and processes to work.

No Viable Contender – Currently there is no logical alternative to replace VBA. JavaScript for office was seen to be the language to replace VBA, but it still cannot compete with the level of functionality that VBA provides (or the ease of use, which leads on to the next point).

Ease of Use – VBA is often the first (and in many cases the only) programming language that users of VBA will learn. I believe the reason being that it is so relevant to the user users and their automation goals within Microsoft Office, that it provides the incentive needed to learn the language and for the user to start to benefit from doing so almost immediately.

Lack of Incentive to Switch – As mentioned above, most users picked up VBA as part of their need to perform a task themselves. VBA is an intuitive language and allows users to do what they need with minimal effort and without necessarily calling themselves ‘a programmer’.

When these users have invested such an amount of time into learning and implementing VBA, the appetite for them to then do so with another language to do the same thing as they can currently do within VBA is going to be limited. I believe this is why VBA is still going as strong as it is today.

Don’t get me wrong, many users are accomplished programmers who can code in various languages, but this wouldn’t make the transition any easier. You would still need to learn all of the Office objects and how the code interacts with them, so whatever language ends up replacing VBA, there will still be an element of reinventing the wheel.

Support – Online support and documentation on VBA is vast. If you can’t figure out something yourself then chances are various other users have asked the question before. Finding solutions and building on your knowledge is therefore relatively easy to do within VBA and to replicate this library of knowledge and support would take a long time.

Macro Recorder – Another benefit to VBA is the ability to record Macros and then examine/edit the resulting code. This is extremely useful for beginner users who can begin to understand how to manipulate the objects within Microsoft Office with minimal effort.

Also Check Financial Modelling | Excel Hints & Tips

Again this reduces the barrier to entry that most new programmers would face and provides the incentive most users would need to continue with the learning process. For this reason it also helps to navigate Office’s vast object library and, using Excel as an example, you can manipulate complex charts and pivot tables by using the in-built functionality, whilst benefiting and customizing with automation.

No Need for IT Support – One of the key benefits of VBA is the fact that it is integrated into Microsoft Office programs. This means that there are no barriers to its use, such as having to request permissions from IT for certain software to be run/distributed. It also means that anyone receiving your office documents can also run any in-built automation without the need of downloading additional software. A further benefit of this is that users can get to work on automating their own processes, without constraints such as IT capacity or budgetary issues.

To summarize, there are many compelling arguments for VBA to remain and with such widespread use of the language I believe that any movement away from it will continue to be a slow process and that VBA is safe for the foreseeable future.