Excel VBA

Visual Basic for Applications in the context of Excel​

Over 1.8 million professionals use CFI to learn accounting, financial analysis, modeling and more. Start with a free account to explore 20+ always-free courses and hundreds of finance templates and cheat sheets.

What is VBA?

VBA is an abbreviation for Visual Basic for Application. VBA is a programming language that was developed by Microsoft Corp., and it is integrated into the major Microsoft Office applications, such as Word, Excel, and Access.

VBA in Microsoft Excel

The VBA programming language allows users to access functions beyond what is available in the MS Office applications. Users can also use VBA to customize applications to meet the specific needs of their business, such as creating user-defined functions, automating computer processes, and accessing Windows APIs.

Key Highlights

  • Learning VBA programming can help Microsoft Office users access functions beyond what is directly available in the various Office applications.
  • VBA can be used to analyze large amounts of data, create and maintain complicated financial models.
  • Recording a macro is relatively simple and requires no inherent knowledge of the VBA code and will work for simple processes. However, this method is not very customizable.

How is VBA used?

VBA is used to perform different functions, and different types of users use the programming language for various functions. The following are the different parties that use VBA:

1. General users

Most users regularly use MS Office applications such as Excel in their routine. VBA language is included in the MS Office package at no cost to the user. VBA is used to automate tasks and perform several other functions beyond creating and organizing spreadsheets.

For example, users need to automate some aspects of Excel, such as repetitive tasks, frequent tasks, generating reports, etc. The user can create a VBA program (macro) within Excel that generates, formats, and prints monthly sales reports with graphical representation such as bar charts. They can execute the program with a single click, and Excel will automatically generate the reports with ease as per the needs of the company.

2. Computer professionals

Computer professionals can use VBAs to perform more complex tasks that would otherwise take longer time and more resources to complete. For example, they can use VBAs to create custom add-ins for Excel that provide additional functionality to the application by introducing new functions that are not available in Excel.

VBA also helps computer professionals perform complex functions, such as replicating large lines of code, designing languages within MS Office applications, and merging the functions of two or more different programs.

3. Corporate users

VBA is not only useful to individuals, but also to corporate users. Companies can use the VBA programming language to automate key business procedures and internal processes. Functions such as accounting procedures, tracking minutes, processing of sales orders in real-time, calculating complex data, etc., can be implemented using VBA.

VBA can automate the above-mentioned tasks to increase the efficiency of internal business processes. It also allows corporations to consolidate their data in the cloud to make it accessible from any location around the world.

Common uses of VBA among finance professionals

The following are some of the ways in which finance professionals use VBA in their work:

1. Analyze huge amounts of data

Finance professionals, such as portfolio managers, financial analysts, traders, and investment bankers, often need to deal with large volumes of data. They are required to review all the data and use the information to make critical buy or sell decisions. The professionals can use VBA to create macros that facilitate speedy analysis of the data.

Once the logic is defined and the important variables are specified, the finance professionals should feed the large volumes of data into the relevant cells and get results with a click of a button. Also, as long the correct data is added to the program, the data output will be more accurate compared to the output obtained manually since humans are bound to make mistakes.

2. Create and maintain complex models

Finance professionals can also use VBA to create trading, pricing, and risk management models. The models can be used to track the performance of stocks in the securities exchange market in real-time, forecast the trend of each stock, and provide signals on when to buy or sell and the appropriate pricing at each stage.

The VBA program can also be used to generate financial ratios that allow analysts to evaluate the financial performance of publicly traded companies, as well as compare the trends and performance of two or more entities over a defined period of time.

3. Create investment scenarios

Investment bankers and financial analysts often need to make decisions by comparing two or more investment scenarios. For example, in mergers and acquisitions, finance professionals must consider the financial impact of the merger to determine if it is feasible. The professionals can use VBA to create macros that simulate the investment scenarios to get an overview of the expected results/effects.

In such a way, it can eliminate human emotions that may interfere with the decision-making process and instead rely on a simulated analysis that is theoretically closer to reality. The decision-makers can make a decision based on the obtained results.

Why use Excel VBA?

While users cannot directly manipulate the main Excel software through VBA, they can master the art of making macros to optimize their time in Excel. There are two ways to make Excel macros.

The first method is to use the Macro Recorder. After activating the recorder, Excel will record all the steps a user makes and save it as a “process” known as a macro. When the user ends the recorder, this macro is saved and can be assigned to a button that will run the exact same process again when clicked. This method is relatively simple and requires no inherent knowledge of the VBA code. This method will work for simple processes.

However, the downfall of this method is that it is not very customizable, and the macro will mimic the user’s input exactly. By default, recorder macros also use absolute referencing instead of relative referencing. It means that macros made in this way are very hard to use with variables and “smart” processes.

The second and more powerful method of creating an Excel macro is to code one using VBA.

Where to code Excel VBA

To access the VBA window, press Alt + F11 within any Office program. When done properly, this will open a window with a file structure tree on the top left, properties on the bottom left, a debug pane at the bottom center and bottom right, and the coding section that takes up the majority of the screen in the center and top right. This may seem overwhelming at first, but in reality, it’s simpler than it appears.

Screenshot of VBA Window in MS Office

Most of the time, the user will be working in the coding section. The file structure section is only used for creating a new macro file. The properties section in the bottom left will only be used for more advanced macros that use UserForms to create graphical interfaces for the macro.

The coding section is where most, if not all, of the coding happens. The user will create, code, and save macros here. After the macro code is written and saved, it can then be attached to certain triggers in the Excel model. The macro can be activated at the push of a specific button on the worksheet, or when certain cells are modified, for example. The easiest way to implement a macro is to attach it to a button.

VBA shortcuts in Excel

The following are some of the shortcuts that work when using VBA in MS Excel:

  • Alt + F11: Open VBA Editor
  • Alt + F8: Display all macros
  • Alt + F4: Close VBA Editor and return to Excel
  • F7: Open code editor
  • F1: Display Help
  • Ctrl + Space: Autocomplete
  • F10: Activate menu bar
  • Home: Beginning of line
  • Alt + F5: Run Error Handler
  • Alt + F6: Switch between the last two windows
  • Alt + F11: Toggle between VBA Editor and Excel

Excel Functions List

Financial Modeling Macros

Transitioning from Excel to Python

Financial Modeling Using VBA

Excel VBA for Finance

See all Excel resources

0 search results for ‘