VBA Macros use the Visual Basic Application in Excel to create custom user-generated functions and speed up manual tasks by creating automated processes. Additionally, VBA can be used to access the Windows Application Programming Interface (API). One of its main uses is to change and customize the user interface by creating personalized toolbars, menus, dialog boxes, and forms.
Before you continue, use the form below to get access to our comprehensive VBA cheat sheet for an overview of key codes and macros, terminology, and best practices in Excel VBA.
How to Create Excel VBA Macros
In a separate article, CFI discusses what VBA is and how to access the VBA Editor. As a summary, pressing Alt + F11 in Excel opens up the VBA window and allows the user to begin coding macros.
To start coding, the user will have to create a Module file. Module files contain a group of macros. To create a new module, press Insert > Module. Optionally, the user can name this module using the properties window in the bottom left corner of the editor. Simply type in a new module name and press enter.
How to Name Excel VBA Macros
To start off, the macro must be given a unique name. This name cannot match other macros, and it usually cannot match the name of other properties, functions, and tools within Excel. The macro name is what the user will use to call the macro into action.
To define a macro name, the user must type Sub name() and press “enter” in the coding window of the editor. Pressing enter will automatically fill the window with the general format of an Excel macro. For example, to name the macro “CFI Macro”, a user should type “Sub cfiMacro()” and press enter. The VBA Editor will automatically add an “End Sub” line a few lines below the “Sub”.
Note: The general convention for typing names for any macro, function, or variable in VBA is to use lower case if there is only one word, and to use an uppercase letter at the start of every new word. VBA names generally cannot contain spaces. Since CFI Macro is two words, this should be written as cfiMacro. However, these are just best practice guidelines and need not necessarily be adhered to.
Sub Name in VBA
The Sub Name() line tells the editor the start of the macro code. The End Sub denotes the end. If the user wanted to, he or she could create a second new macro by starting a new Sub Name() line below the first End Sub. Try this out and you should notice that Excel will automatically create a line between the two different macros.
This is the basic structure of an Excel macro. The next step, before jumping into the actual process coding, is to define the variables the user is going to use in the code. You may be interested in our fully-fledged Excel VBA macro course. Click here to launch the course now!
Thank you for reading the CFI introductory guide to VBA macros in Excel. To keep learning and advancing your career, check out these additional CFI resources:
Take your learning and productivity to the next level with our Premium Templates.
Upgrading to a paid membership gives you access to our extensive collection of plug-and-play Templates designed to power your performance—as well as CFI's full course catalog and accredited Certification Programs.
Already have a Self-Study or Full-Immersion membership? Log in
Access Exclusive Templates
Gain unlimited access to more than 250 productivity Templates, CFI's full course catalog and accredited Certification Programs, hundreds of resources, expert reviews and support, the chance to work with real-world finance and research tools, and more.