Visual Basic For Applications - VBA

DEFINITION of 'Visual Basic For Applications - VBA'

Visual Basic is a computer programming language allows the creation of user-defined functions and the automation of specific computer processes and calculations. Users do not have to buy a copy of Visual Basic professional because Visual Basic for Applications is a standard feature of Microsoft Office products. Visual Basic for Applications (VBA) allows users additional customization beyond what is normally available in Microsoft Office products, such as Excel, Access, Word and PowerPoint.

BREAKING DOWN 'Visual Basic For Applications - VBA'

In VBA, users type commands into an editing module to create a macro. Macros allow users to automatically generate customized charts, reports and perform other data processing functions. Macros automate tasks and merge program functions that enable developers to build custom solutions using Visual Basic. Visual Basic for Applications requires code to run within a host application such as Excel because it cannot run as a standalone application.

In the finance industry, VBA for Excel is frequently used to create and maintain complex financial spreadsheet models. Visual Basic for Applications for Excel is also used to create trading, pricing and risk management models, forecast sales and earnings and generate financial ratios.

It is user intuitive, which allows users with little or no computer programming knowledge to learn VBA. It is an event-driven programming language specifically designed to customize applications that contain the Visual Basic for Applications application-programming interface (API). It is used to control the functionality of Microsoft Excel and any other Microsoft Office application.

It can be used to keep lists of customers’ names or other data, create invoices and forms, develop charts, analyze scientific data and for budgeting and forecasting. It can be used to control several features of a host application such as Excel, including manipulating user interface features, such as toolbars and menus and working with dialog boxes or customized user forms.

How It Is Used

In addition to Microsoft, numerous companies have used VBA to add the programming capabilities to their own applications. Visual Basic for Applications is also implemented in applications published by other companies including AutoCAD, ArcGIS, CATIA, CorelDraw and SolidWorks. VBA enables an application, such as Excel, to run a program internally and provide a customized version of Excel for a specific purpose, such as how long it takes to earn $1 million in an investment portfolio based on a specific interest rate and the number of years until retirement.


On July 1, 2007, Microsoft stopped offering VBA distribution licenses to new customers. Microsoft created Visual Studio that contained a separate scripting tool called Visual Studio for Applications (VSA) that supported Visual Basic .NET. One of VSA’s main features was that the interfaces were available through active scripting, allowing .NET-unaware applications to be scripted via .NET languages. However, VSA was retired in the 2.0 version of the .NET Framework, leaving no alternative for applications desiring active scripting support. Microsoft ended Visual Basic for Applications support for Microsoft Office 2008 for Mac computers. However, VBA support was restored in Microsoft Office for Mac 2011.