VBA Poll

VBA is dead? What’s the future of VBA?

1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 4.00 out of 5)
Loading...

As with most technologies Visual Basic for Applications (VBA), the scripting language available with most MS Office applications, is deemed by some to be already Walking Dead and soon to be deceased. VBA is a versatile and easy to use programming language allowing you to automate tasks and create simple MS Office applications. Visual Basic for Applications is especially widely used in Excel and Access aiding financial modelers, accountants and regular office dwellers.

Share your voice!

Let us know what you think! Do you think VBA is already dead or is it well and thriving in the Office community? Vote and read my take on this.

What does Google say?

One of the key signs of popularity is the how often a certain topic is Googled for. One of the tools Google facilitates to measure this is Google Trends. I had a peek at how the topic “Visual Basic for Applications” trends as according to these analytics and was surprised at first.

The trend does seem troubling at first – showing a steady decline in interest in VBA. I remembered however that Google trends does not measure the increase in the absolute amount of queries around a topic, instead it measures the # of queries for keyword relative to ALL Google search queries. This chart simply tells us that Visual Basic for Applications is becoming relatively less popular when compared to all kinds of non-relevant queries.

What we need to do is limit ourselves to a certain category/domain of Google queries. Excel and VBA are popular especially among the Financial sector – used often by controllers, accountants. These in my opinion make up most of the community of Excel users. Below Google Trend results limited to Finance:

What we see now is that VBA has lost some of it’s popularity ranging from 2005 when compared to overall topics around Finance (too bad we can’t limit this to just MS Office). However, we are also seeing a stable flat trend since 2009.

To enrich our insights further I reached out for a second tool called Google Keywords which aids in seeking out how often a certain keyword is searched for in Google Search. Let’s see what Google says about the keyword VBA:

VBA Google Keywords search Jan 2014 - Dec 2015
VBA Google Keywords search Jan 2014 – Dec 2015

The results, although limited to just the past 2 years do seem to suggest that the search term VBA was definitely more popular in the past year than back in 2014. We will see similar results when looking up other associated terms like Visual Basic for Applications, VBA tutorial etc. This does seem to suggest that more users are interested in reading/learning about VBA.

To summarize these findings, looking only the numeric data around Google search on VBA, I would say VBA is keeping it’s ground steadily. But what’s up ahead?

What’s up ahead?

roadIs VBA really a dying language? Let’s first see what alternatives we have from the Redmond giant…

Apps for Office (Office Store)

Office storeWith Microsoft Office 365 and the new MS Office version Microsoft is moving to the Cloud, having introduced some time ago its Office Store where you can buy apps. Apps for Office (Office AddIns), as Microsoft calls them, are basically Web 2.0 apps based on Html, Css and Javascript.

Apps for Office can be one of the following types:

  • Task Panes – appearing on the right pane of the MS Office application, these enable users to see side-by-side with an Office document. They aim to provide contextual information and functionality to enhance the document viewing and authoring experience. As simple example would be the Bing Translator
  • Content AddIns – AddIns that are aimed at visualizing data or content. The are rich, web-based data visualizations or embedded media
  • Outlook AddIns – display next to an Outlook item when you’re viewing or editing it. They can work with an email message, meeting request etc.

Pros:

  • Rich and visually attractive
  • Limited to extending content or providing context to data/content
  • Can be sold via Office Store

Cons:

  • Limiting functionality – acts simply as an embedded web page. Can’t provide automation features
  • Requires installation/deployment
  • Can’t be modified from MS Office
  • Steep learning curve
  • Developing Apps takes longer

Visual Studio Tools for Office (VSTO)

visual studio logoVisual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio AddIn. VSTO leverages the .NET framework (typically VB or C#) and allows you to extend Microsoft Office applications with additional functionality. VSTO AddIns allow you to automate/extend MS Office similarly like VBA except that they need to be deployed every time which doesn’t make sense when creating simple automation scripts or algorithms. VSTO is however useful when creating AddIns and certainly a viable candidate for replacing VBA AddIns.

Pros:

  • Versatile
  • C#/VB.NET don’t have such a steep learning curve
  • Allows you to extend MS Office similarly as VBA AddIns (extend Ribbon)

Cons:

  • Requires installation/deployment
  • Can’t be modified from MS Office
  • Requires Visual Studio environment (costs and learning)
  • Developing AddIns takes longer

My take – conclusions

In my opinion it looks like there is nothing endangering VBA in the foreseeable future. VBA isn’t dead and, it does seem to me that it isn’t going anywhere any time soon – Google data seems to support that statement.

VBA isn’t like Adobe Flash with a similar technology like HTML5 sitting on it’s back. VBA is simple and versatile, very easy to learn and available Out-of-the-Box with all MS Office applications. In more robust solutions like AddIns it does seem like VBA could be (and even will be) more often superseded by VSTO and Apps for Office, but with everyday productivity scripts, algorithms, functions … VBA is unmatched. Let us also account for the thousands of solutions out there based on Visual Basic for Applications automation used in the Financial and other industries.

In my opinion VBA is also often underestimated as a first learning language. Almost all household and literally all office workstations have MS Office installed. A programming environment embedded right there – no need of installing Eclipse, Visual Studio or other software to start making your first steps to being a Software Developer. Start your journey with VBA today.

Agree? Disagree? Share your comment and vote in the poll above!

Related Posts

9 thoughts on “VBA is dead? What’s the future of VBA?”

  1. Hi Tom,

    I really enjoyed your discussion of VSTO, and the comparison of different types of application solutions/technologies that are available in Office.

    I’ve written a similar article on the pros and cons of VBA: http://www.bernardvukas.com/when-is-vba-not-the-right-choice/

    And a decision chart (diagram) of different programming technologies available in Office 365:
    http://www.bernardvukas.com/need-help-choosing-the-right-office-365-development-platform/

    I hope you enjoy it.

    Cheers,
    Bernard

    1. Hi Bernard – read both posts. Nice decision chart you got there. I mostly agree with both posts, except I would definitely give more STRENGTHs to VBA than just the VBA Recorder… seems like a big understatement right there. Interestingly in terms of performance VBA does seem to perform better than e.g. Python, and is MUCH faster than VBscript. Loses to .NET big time obviously.

  2. Great article. I’ve been in a number of roles over the years, and I can say that I don’t think VBA is going anywhere anytime soon. Granted, it lacks the power of VB.NET and other languages, but the bottom line is that once Excel is opened and Alt+F11 is pressed, an entire world of possibilities opens up that few can truly take advantage of.

    A major issue I am seeing with migrating away from VBA is the support structures needed for other tools. For instance, special permission must be given to install Visual Studio in my organization, and really is needed for just about any tool not on their standard image…but, Excel is there. VBA presents a very robust platform for developing just about any report, analysis tool, or reporting automation system that larger, more costly applications can create.

    In my experience (yours may vary), as long as the scope of the project is dealing with Office applications, reporting, databases, internet/web extracts, xml, and others (I am forgetting quite a bit here…), then Excel/VBA will do just fine.

    I look forward to many more years building automated systems with it!

  3. Thanks for your great article and the opportunity for discussion. I think that vba is certainly should be in decline, but Additions to the office model do seem to be making it through to the language. However, with a 20 year history it must be headache for ms to continue to keep it going, and a mess for users to keep it all under control.

    My own website www.mcpher.com is about 50/50 Google apps and office content, and although I don’t add anything much for vba nowadays, I still get going on for a million views on vba related topics … As much as the Google content… , and with no sign of a let up in interest.. So in my experience your analysis is right on, even though it is completely unexpected.

    I think ms have missed the boat on their JavaScript Api for office and conceptually it’s barking up the wrong tree by exposing a slice of the object model through an api, as opposed to having an independent server/ client context where you can do what you like on either.. It’s severely limiting, and frankly nothing much has happened in the past couple of years on this product …. Aside from various rebrands.

    The reason that vba clings on is that there is really no viable alternative… Vsto is too much of a science project for typical casual vba users, and jsapi doesn’t cut it.

    I do have a comparison of the same project implemented in Google apps script versus Microsoft js api in my latest book .. Going gas. From vba to apps script .. If anybody wants to look a little deeper.

    Vba is safe for now. For a little while anyway, but of course it has no future in a cloud based world, so let’s hope ms can get focused on a viable alternative..

    1. Hi Bruce,
      Interesting take on VBA vs Gas. I wouldn’t say however that Vba has no future in a cloud based world. This in my opinion is a common misunderstanding – some of us think that Vba needs to develop to be a full-blown programming language. It doesn’t. In 99% of the time it is used for simple automation tasks. You have Office Apps accounting for cloud apps and VSTO for more complicated Excel based functionalities. Gas for me is a web-based equivalent to Vba for Google Docs. Not really an alternative if you are using Excel. Swapping Excel for Google Sheets isn’t really an option for most, you might be right in the sense that we might see Office 365 coming with similar Vba features soon.

  4. Hi analyst cave

    I agree with you completely that vba is mainly used for simple automation tasks… As is apps script. Although both can and are occasionally used for complex things too.

    My point was simply that as more and more people use office365 by default, and no longer consider their desktop or be home, the gap that will be left by vba automation not being cloud based is not yet filled.

    I think Microsoft need to do that real soon. The office JavaScript api is not the right answer.

    1. Hi Bruce, you are probably right with the Javascript API. I really hate how O365 apps are developed. The Javascript API is a nightmare and the learning curve is very steep. Googles definitely has an edge there.

Leave a Reply