• 29 Apr, 2024

Is VBA Outdated? Let's Find Out

Is VBA Outdated? Let's Find Out

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. In simple terms, NO, VBA is still relevant and will not become outdated any time soon.

Visual Basic for Applications (VBA)  

T here 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 supporting and updating VBA in 2007. But when Microsoft suddenly upgraded VBA to VBA 7 in Microsoft Office Suites in 2010, it generated lots of arguments about whether VBA is going into extinction or not.  

 

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 proof 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, its current stand, and its likelihood of becoming outdated.  

History of VBA    

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 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 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 seemed VBA had been dropped, and Microsoft was 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 everything from simple macros 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.

Is VBA Outdated?    

In simple terms, NO, VBA is still relevant and will not become 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, and 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 ongoing 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.

The 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 outdated is that Microsoft probably needs to put more investment and consideration into it. Although Microsoft updated the object model to include new features in each MS Office application for both Windows and macOS, the major part (VBA Editor) remains unchanged.    
  • Likewise, 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. However, because there are newer programming languages that people are drifting to, they tend to consider VBA to be updated. 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 is there a 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 require the code to be manually adjusted to effect the new name.  
  • The security warning about enabling macros that pop 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 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 need to be made aware of VBA in Excel and need help understanding it or how to use it. As a result, VBA could be more useful to most Excel users.  

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 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 you can do everything you can do by simply pointing and clicking in Excel with a VBA code. With a dedicated programming environment, VBA is easier 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 Wider in Use Than You Think    

Excel is used 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 only survive with Excel and its in-built VBA macros. Though Microsoft has been trying to move away from VBA, 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.    

Is Excel VBA Still Worth Learning    

Yes, Excel VBA is still worth learning. Unless Microsoft replaces offline MS Excel (which is not possible) or offers Python as a VBA alternative in MS Excel applications, VBA is going nowhere. 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 five years of development, the "new" code still runs slowly and 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 Office-js' effort is not going anywhere, which makes Excel VBA still worth learning.

VBA Replacement    

For now, VBA will likely 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 been the official replacement till now.

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 more aligned with more recent and powerful development frameworks. However, Microsoft has tried and is 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 on almost all devices that are currently running an Office application. For instance, VBA can't be used presently on Office 360 or Excel mobile. Creating a VBA code that will be compatible with both Windows and macOS is a challenging feat. But with JavaScript, users can write a single script that can run on any device, which is a welcome development. Secondly, JavaScript is much 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.

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?”

Can Python Replace VBA?    

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

For instance, the Xlwings library can enable Python to be used in Excel, and Excel can be accessed from Python using the  win32com library . A library still needs to be developed to make Python replace VBA. More so, there are processes where VBA is better used than Python. If Python is a better and easier 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?  

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, we are still determining when this will be. Perhaps, in the near future, everything will move online or into the cloud. 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 applications running with JavaScript, i.e., a means of upgrading all VBA scripts in older MS files to JavaScript.  

The Best 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, browsers, etc. This will enable a smooth transition 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.

Related:  Is Excel a Relational Database?  

Related:  Is Excel difficult to learn?  

Aiden Blenkiron

Hello, I'm Aiden Blenkiron, a Tech blog writer with a Computer Science Degree from Stanford University. Since 2019, I've been sharing insights on Tech innovations and I have contributed along to major brands like TechInsider and WiredTech. My aim is to simplify complex concepts and keep you updated in the dynamic Tech landscape.