Is VBA Outdated?

(Note:  We may earn commissions on products/services you click on.  This is at no extra cost to you.)

Table of Contents

Is VBA outdated or still relevant?

VBA is a programming language used in Microsoft Office products to automate tasks. Currently, it is widely used by many people across the globe. VBA has been in use for many years and is one of the easiest and simplest programming languages to learn even for those without a computer science background.

Click this affiliate link to get Lucidchart – a visual workspace for diagramming, data visualization and collaboration and create powerful visuals to improve your ideas, projects and processes.

 

vba-conceptual-sphere-98977183
secret-379428_1920

However, there have been lots of discussions recently about Excel VBA being outdated. This is unconnected to the fact that Python, a newer programming language, can do virtually all that VBA can do and even execute them better and more efficiently than VBA.

The prediction that VBA is becoming obsolete was further strengthened when Microsoft stopped support and update for VBA in 2007. But when Microsoft suddenly upgrade VBA to VBA 7 in Microsoft Office Suites in 2010, this generated lots of arguments about whether VBA is going into extinction or not.

Click this affiliate link to start learning Microsoft Excel 2019.

This was ongoing when it became possible and easy to use Python in Excel – thanks to the xlwings library. This seemingly eliminated the need for VBA and backed the prove that VBA may soon be ditched.

This post is specially written to provide an answer to the question, “Is VBA Outdated?” read on to get a better understanding of VBA, it’s current stand, and its likelihood to become outdated. 

Click this affiliate link to register for Microsoft Excel VBA Training.

Is VBA Outdated?

In a simple term, NO, VBA is not outdated and is not getting outdated any time soon.

Currently, the use of VBA has spread across several applications, which include AutoCAD, CorelDraw, WordPerfect, LibreOffice, etc. More so, VBA is used to interconnect these applications, for instance, connecting coordinates and tables from Excel to AutoCAD. The use of VBA has gone far and wide in many industries than the application can suddenly become obsolete.

Just like FORTRAN and COBOL, VBA is here to stay and it’ll stay for a very long time – VBA is part of the MS Office 2019 Suite despite the rumor of VBA’s near-extinction. Even if Microsoft eventually stopped support and update for VBA, which it has not done yet, there would still be a need for ongoing support for systems running on VBA just as there is still on-going support for large COBOL systems.

Finally, while students who embark on learning computer languages nowadays may disregard learning VBA due to its “supposed” future irrelevance to their IT careers, VBA, as well as its knowledge, will remain extensively useful for many years to come.

History of VBA

Perhaps, you don’t know or have forgotten, VBA stands for Visual Basic for Applications. Although the names sound similar and both languages share the same origin, VBA is different from VB (Visual Basic).

While VB is represented as a stand-alone application and can make stand-alone executables, VBA deals mainly with programming in MS Office applications. VB has been transformed into a .Net platform version while VBA is still in use.

Microsoft first launched VBA in 1993 with MS Excel 5.0. Soon after it was launched, VBA became an instant success among developers, who used the coding language to create corporate solutions using Excel.

VBA was later added to MS Project, MS Access, and MS Word to replace AccessBASIC and WordBASIC respectively. This move made VBA became more popular. VBA 4.0 was the next popular version, released in 1996 with upgraded features compared to the earlier version. VBA 4.0 was written in C++ and became an object-oriented language.

In 1997, VBA 5.0 was released along with all of Microsoft Office 97 products, except MS Outlook 97, which still used VBScript. In 1999, both VBA 6.0 and VBA 6.1 were released with support for COM add-ins in MS Office 2000. The 6.2 version of VBA was launched together with MS Office 2000 SR-1.

MS Office XP was released with VBA 6.3, VBA 6.4 with MS Office 2003, and VBA 6.5 with MS Office 2007. For reasons best known to the corporation, Microsoft stopped licensing and support for VBA after the VBA 6.5/MS Office 2007 release.

For close to three years, it seems VBA has been dropped and Microsoft is cooking another coding language until suddenly in 2010 when Microsoft released MS Office 2010 with VBA 7.0.

Although, no new features/significant changes were added/made for developers in VBA 7.0 compared to VBA 6.5 (except the support for 64-bit systems), the release counters the already-growing belief that VBA is outdated and going into extinction.

VBA 7.1 came with new features and a major improvement. It was added to MS Office 2013, 2016, and 2019. The inclusion of VBA in 2019 is significant proof that VBA is not outdated but still very much relevant.

However, there is a report that Microsoft is considering JavaScript API replacement. Microsoft may be moving away gradually from VBA and considering the adoption of JavaScript API for MS Office applications, including Office 360 and Office for macOS.

VBA enables users to create from simple macros up to more advanced applications. Users can create independent classes and modules. They can also import a large variety of reference libraries from other MS Office applications and third-party products.

As stated earlier, Microsoft stopped offering VBA distribution licenses to new PC users on July 1, 2007. Support was also dropped for MS Office 2008 for macOS. However, VBA was restored and upgraded in MS Office 2010 for PC and MS Office 2011 for macOS.

According to Microsoft, the firm has no plan to remove VBA from MS Office applications for Windows. This is clear evidence that VBA is still in vogue.

Click this affiliate link to register for Microsoft Excel VBA Training.

Reasons Why VBA Seems Outdated

Although VBA is not outdated, it is no longer as popular and widely accepted as it used to be due to the emergence of other programming languages with better functionalities and efficiencies. Here are a few reasons why VBA seems outdated (though not outdated):

The main reason why VBA seems so be outdated is that Microsoft is probably not putting any or sufficient investment and consideration into it. Although Microsoft updated the object model to include new features in each MS Office applications for both Windows and macOS, the major part (VBA Editor) remains unchanged.

More so, Microsoft has no intention of extending the use of VBA to any platform that isn’t already using it. That is, Office 360, Android, and iOS aren’t running VBA code now, and won’t ever run it in the future.

People like drifting towards new things, even when old things are still useful. This is the case with VBA. VBA is old, still relevant, and still very useful. But because there are newer programming languages that people are drifting to, they tend to consider VBA outdated. You won’t be surprised that FORTRAN and COBOL are still very much in use in some applications.

Other reasons why VBA seems outdated are:

  • Sometimes, it takes a longer time to write, test, and debug the VBA script than using ordinary worksheet features. So, if one can easily run an operation faster without using VBA, why the need for VBA?
  • VBA doesn’t automatically adjust the same way that formula does when data is moved from one Excel sheet to another, when a column/row is inserted or deleted, etc. For instance, when an Excel sheet named “January” and used in a formula is renamed “Jan,” the formula automatically adjusts to the new name. however, VBA will not and required the code to be manually adjusted to effect the new name.
  • The security warning about enabling macros that pops out when an Excel worksheet with VBA macros is opened or when VBA macro is about to be enabled can freak out some Excel users.
  • VBA has no “UNDO!” Sometimes, mistakes may be made or there may be a need for adjustment, so there should be room for correction or adjustment by being able to undo what has already been done. Unfortunately, this is not the case with VBA. What has been done cannot be undone. For instance, if a VBA macro is written to delete information and such macro is executed either for the wrong information or at the wrong time, you’ll end up having a deleted information that can never be retrieved again – you can’t UNDO the action as the UNDO arrow is greyed out.
  • Except you use very good and explicit comments in your code, you may end up struggling to understand it if you revisit it later after some weeks or months.
  • Most users are not aware of VBA in Excel and do not understand it or how to use it. As a result, VBA is useless to most Excel users.

Click this affiliate link to start learning Microsoft Excel 2019.

Reasons Why VBA Is Still Relevant

Here are a few reasons why VBA is still relevant:

  • You Can Get Results Fast with VBA: If your raw data is coming from a SQL or any other third-party ETL or CSV, then VBA should be your best tool. To date, VBA offers a cheap and fast option when you’re using MS Excel to build your model.
  • VBA Is Relatively Easy to Read and Learn: VBA is very fast to learn, easy to read, and easy to edit even by non-programmers. VBA is easy to manipulate and for everything you can do by simply pointing and clicking in Excel, you can do with a VBA code.

Without a dedicated programming environment, VBA is still very simple to code. You don’t need anything more than MS Excel to handle VBA coding.

If you’re a VBA expert, you can easily train some of your workers because VBA doesn’t necessarily require any prior programming knowledge. This means virtually all your workers would be able to perform necessary procedures on VBA after a short training. More so, VBA has a lot of support in the community to keep users learning and building codes. There are also online VBA training courses that can help anyone to learn VBA in less than 24 hours.

  • Excel Is Widely in Use Than You Think: Excel is in more places and is widely used in the industry. Aside from the importance of Excel in data science and AI, the application still has its tentacles in most industries, especially in the finance industry. Till now, most large firms can’t survive without Excel and its in-built VBA macros.

Though Microsoft has been trying to move away from VBA, yet VBA still rules and is more advanced than what you think. The truth is that most people use what they have access to, and most people have access to Excel and its VBA.

  • VBA is not just useful for programmers and software professionals: While programmers and software professionals may find a better alternative coding language to VBA, VBA is not just for them. VBA does not only apply and is not limited to coding and programming alone – this is the main advantage of VBA. Aside from programmers, any other person using MS Office applications or other products using VBA will benefit from learning and using VBA.
  • VBA knowledge is still applicable in many different fields: In addition to the point above, a VBA specialist is useful in most situations and fields. For instance, a VBA expert can be quickly moved to another line of work if need be. A VBA expert can easily work and improve performance in inventory data, logistics, Big Data, analytics, or finance.
  • VBA doesn’t call for additional expensive software: Currently, most firms are already using Excel for their data management. If that is the case, then VBA is already integrated into Excel and you don’t have to invest in any other expensive programming application. All you need to do is take advantage of the VBA expert on your team.
  • VBA saves time and money: VBA is mostly used to automate tasks. Users can create VBA macros to automate numerous tasks to save time. It can also be used to handle repetitive jobs. By automating repetitive jobs with VBA, you will be able to focus on other things/tasks as well as avoid making mistakes.

Click this affiliate link to start learning Microsoft Excel 2019.

Is Excel VBA Still Worth Learning

Yes, Excel VBA still worth learning. Unless Microsoft is replacing offline MS Excel (which is not possible) or offering Python as a VBA alternative in MS Excel application, VBA is not going anywhere. That means, Excel VBA will still be relevant and worth learning.

Some years back, Microsoft invested in “Office-js” as the new macro language – a viable JavaScript successor to VBA. There were claims that Office-js would be great. However, after 5 years of development, the “new” code still runs slowly, has no macro recorder, and developers have to rethink how they would design the code to make it asynchronous.

Ultimately, MS Excel 5 was launched with VBA and became a success. It all seems like all effort on Office-js effort is not going anywhere, which makes Excel VBA still worth learning.

VBA Replacement

For now, it unlikely that VBA will have a replacement considering the amount of work that Microsoft would need to do to remove VBA because most sections of the newer versions of MS Office applications are using VBA scripts in their background code.

That’s one reason. Another important reason why VBA can’t be easily replaced is its backward compatibility. For instance, imagine that you have an important .xls file from Excel 2000 with a VBA script in it. How would you feel when you’re not able to open it in a newer version of Excel because there is no VBA in it? Microsoft will not want to allow that.

This is the main reason why VBA is still left there intentionally. If VBA is actually that much of an annoyance as rumored, Microsoft would have removed it long ago. Hence, VBA is intentionally left in all MS Office applications and has official replacement till now.

Click this affiliate link to register for Microsoft Excel VBA Training.

What Is Now Used Instead of VBA?

Presently, no other coding language has replaced VBA or been used instead of VBA. Every other programming language, including Python, is only used alongside VBA in Excel. VBA is an application tied together with all MS Office applications.

Hence, Microsoft can’t get rid of it. Instead, Microsoft should only make VBA become more aligned with more recent and powerful development frameworks.

However, Microsoft had tried and still considering JavaScript “Office-js” as a viable replacement for VBA.

Microsoft has heavily invested in JavaScript programming language in its move to unify Office applications across all devices – mobiles, macOS, Windows, browsers, etc. Although the earlier released “Office-js” met with heavy resistance, Microsoft has not relented but has gathered expert concerns and thoughts necessary to fully push JavaScript for automating Excel.

The question now is, “why would JavaScript be a better replacement for VBA?” “why did Microsoft decide to favor JavaScript over VBA and other programming languages out there?

Foremost, JavaScript is a coding language that works almost on all devices that are currently running an Office application. For instance, VBA can’t be used presently on Office 360 or Excel mobile. More so, creating a VBA code that will be compatible with both Windows and macOS is not an easy feat. But with JavaScript, users can write a single script that can run on any device, which is a welcome development.

Secondly, JavaScript is extremely faster than VBA at pulling data from external sources. Presently, several firms are looking for seamless integration from a bunch of data sources. This advantage of JavaScript becomes a bonus for Excel if JavaScript eventually replaces VBA.

Finally, JavaScript seems to be the hot cake that many large corporations are drifting towards. For instance, the Google Suite has been using JavaScript as its scripting language for some time. Microsoft may decide to follow suit and switch to JavaScript over VBA.

Nevertheless, much work is needed to be done by Microsoft in favor of the JavaScript replacement plan, which is making the process rather slow. The next question would be, “why didn’t Microsoft just try to improve VBA?”

Click this affiliate link to register for Microsoft Excel VBA Training.

Can Python Replace VBA?

This is not likely. The possibility that Python will replace VBA in MS Office application or other applications running VBA is very low and can’t be guaranteed. Although several applications have been developed to easily integrate the use of Python with Excel, Python has not been seen as a replacement for VBA.

For instance, xlwings library can enable Python to be used in Excel and Excel can be accessed from Python using the win32com library. Yet no library has been developed to make Python replace VBA. More so, there are processes where VBA is better used than Python. 

If Python is a better and easy replacement for VBA in MS Office applications, Microsoft would have considered that long ago and wouldn’t be investing in JavaScript either. More so, compatibility is an important factor that should be considered. Are files running VBA script easily compatible with Python?

Click this affiliate link to start learning Microsoft Excel 2019.

How Is the Future in Excel VBA Macro?

Microsoft is currently working to replace VBA with JavaScript. While there is an ongoing move to replace VBA with Office.js, nobody can really tell when this will be. Perhaps, in the nearest future, everything will move online or into the cloud, then everybody will have to embrace or adopt a system that can run effortlessly and efficiently on both offline and online platforms – JavaScript.

By then, Microsoft would also have devised a means of making documents with VBA scripts in them accessible by MS Office application running with JavaScript i.e. a means of upgrading all VBA scripts in older MS files to JavaScript.  

Click this affiliate link to register for Microsoft Excel VBA Training.

VBA Alternatives

Presently, no development environment functions better than VBA. More so, VBA is still in vogue due to its backward compatibility. However, possible alternatives to VBA are Python, R, and JavaScript.  

Python is already in use in Excel as a replacement for VBA while PrepJet (an Excel Add-in) has also been developed in JavaScript – thanks to the recent MS APIs.

Conclusion

So the best answer to the question “is VBA outdated?” is and remains “how long will Microsoft continue to support VBA in its MS Office applications?”

Most people believe that Python, R, or some other programming language might replace VBA, or at least, run alongside Excel as an optional tool. Some believe that JavaScript is better than VBA. However, it is important to note that displacing or replacing VBA may not happen within the near future and this will surely meet with very strong opposition because many applications are still using VBA worldwide.

The bottom line is:

  • VBA may continue as a widely-used automation tool for the next 10 to 15 years.
  • Even if JavaScript eventually replaces VBA, VBA will never go away completely because so many firms and businesses have invested in it and still rely on it for their business automation.
  • Microsoft will only push JavaScript APIs slowly (and not suddenly) as the new replacement for VBA across all its platforms – Windows, macOS, tablets, browser, etc. This will enable a smooth transitioning to JavaScript.

My final thought is, VBA remains something that can easily differentiate you from other Excel users and should be learned. Therefore, don’t give up on learning VBA yet – it is not outdated. To kickstart your journey into VBA, click here.

Click this affiliate link to register for Microsoft Excel VBA Training.

 

Luis Gillman
Luis Gillman

Hi, I Am Luis Gillman CA (SA), ACMA
I am a Chartered Accountant (SA) and CIMA (SA) and author of Due Diligence: A strategic and Financial Approach.

The book was published by Lexis Nexis in 2001. In 2010, I wrote the second edition. Much of this website is derived from these two books.

In addition I have published an article entitled the Link Between Due Diligence and Valautions.

Disclaimer: Whilst every effort has been made to ensure that the information published on this website is accurate, the author and owners of this website take no responsibility  for any loss or damage suffered as a result of relience upon the information contained therein.  Furthermore the bulk of the information is derived from information in 2018 and use therefore is at your on risk. In addition you should consult professional advice if required.