Excel VBA

Visual Basic for Applications in the context of Excel​

What is Excel VBA?

VBA stands for Visual Basic for Applications. This is Microsoft’s programming language for Excel and all the other Microsoft Office programs, like Word and PowerPoint. The Office suite programs all share a common programming language.

While the user cannot really manipulate the main Excel software through learning VBA, she can, however, master the art of making macros to facilitate her 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 recorder 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 a 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 users input exactly. By default, recorder macros also use absolute referencing instead of relative referencing. This 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 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.

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, 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.