VBA, which is short for Visual Basic for Applications, is a type of programming language that’s used to create macros in Microsoft Excel. This language is built into Excel and allows users to write commands and functions in spreadsheets. It also can be used in other Microsoft Office applications as well, such as Outlook and Word. 

In order to understand VBA, it’s important to also explore what a macro is. An Excel macro is a set of Excel actions or instructions that are used to manipulate data. Macros make it possible to automate repetitive Excel tasks that would otherwise have to be completed manually. When macros are recorded, they are stored as VBA code. Once there, they can be viewed and edited with the help of the VBA Editor. Macros can be used to automate both simple tasks, such as converting formulas to values in a spreadsheet, as well as more complicated tasks, like uploading data to a web page. VBA provides Excel users with a way to program macros so that these tasks can be accomplished simply by clicking a button.

The more familiar a user becomes with Excel, the more they notice the vast number of tools this application offers. However, not all of them are helpful for completing daily tasks, such as repetitive instructions or creating custom functions. In order to fill this gap, Microsoft provides VBA so that users can have the power to write their own commands to carry out these tasks.

Uses of VBA in Excel

Here are just a few of the many uses for VBA in Excel:

  • Office application interaction. Many of the applications in Microsoft 365 integrate with one another since they are part of the same suite. VBA programming provides a way for Microsoft 365 users to simultaneously work with the components of two or more Microsoft 365 applications, and perform modifications to one app’s content based on the other app’s content. For example, VBA could help a user take Excel data and move it onto PowerPoint slides.
  • Repetitive task automation. When Excel users must make corrections to formatting or other problems that occur in spreadsheet data, VBA provides them with an efficient tool for automating these procedures. If a change must be made more than ten or twenty times, it’s a good candidate to be automated with VBA. If the change will need to be executed hundreds of times, it is definitely a candidate for VBA automation. One example of a task users may need to perform dozens or hundreds of times is reformatting various tabs that were pasted from Excel into an Outlook email.
  • Customizing. VBA provides an array of customization options for Excel users. Custom commands can be created for those who need to repeatedly execute the same series of Excel menu commands. In just a fraction of the time required to do so, a macro can be created that will perform the same sequence with one keystroke. Excel toolbars can also be customized with user-specific buttons that will carry out specific macros. In addition, menu commands can also be customized with the user’s go-to macros.
  • Add-ins. VBA can be used to create custom Excel add-ins to supplement those like Analysis ToolPak that ship with Excel. 

Advantages & Drawbacks of Using Excel VBA

Most Excel users rely on VBA to create macros in order to help them perform their jobs more efficiently. There cite many advantages, and just a few potential drawbacks, to using this language:


  • In most instances, automating Excel tasks with VBA saves users time, since tasks that would otherwise have to be performed manually are automated.
  • VBA provides a consistent form of automation that ensures that the Excel task is executed the same way each time a macro is run.
  • Even those who do not know how to write code or are new to using Excel can record and run basic macros with little difficulty.
  • If a macro has been properly recorded, Excel will perform the designated task without making errors.


  • In situations where others wish to use one person’s VBA programs, they have to have their own copy of Excel. 
  • Sometimes, glitches can occur when creating VBA programs. However, in these rare instances, debugging can help, as well as reaching out for technical support.
  • Because Microsoft regularly upgrades Excel, there is no guarantee that the VBA code that was created a year or two ago will work with future Excel versions. That said, Microsoft does try to keep each version compatible with the others.
  • Creating macros adds code to Excel workbooks. This means that macros increase the size of the user’s Excel workbook, which can slow it down, as well as occupy more space on a device.
  • There’s no option to undo a macro once it’s been executed. This means that those who wish to execute macros must be cautious when manipulating or deleting sensitive data.
  • Security issues can arise when running macros. Since macros can hold codes for malware, it’s important to only run macros from trusted sources.
  • Those who rely too much on Excel macros may start to forget how to manually perform basic Excel tasks. This is why it’s important for Excel users who often run macros to periodically brush up on Excel’s core features and how to work with them.

Despite these few potential drawbacks, most Excel users consider VBA to be an effective way to create macros and save time when performing repetitive spreadsheet tasks.

Learn More about Microsoft Excel with Hands-On Classes

A great way to learn more about Microsoft Excel and VBA is to enroll in one of Noble Desktop’s Excel courses in NYC and live online. Courses are available for those who are new to Excel, as well as learners who regularly work with this spreadsheet application and wish to brush up on their skills. In addition, there are also in-person and live online Excel courses available through Noble Desktop or one of its affiliate schools. 

Noble Desktop’s Excel Bootcamp provides a great option for those who want to master core Excel concepts, such as creating PivotTables or macros. Students who enroll in this rigorous, 21-hour course can elect to study in person in Manhattan or learn in the live online environment. This small class comes with the option of a free retake and covers a variety of Excel concepts applicable to the business world. 

Those interested in studying Excel close to home can also browse over 140 in-person Microsoft Excel classes to find nearby study options. Courses are available that vary in duration from three hours to five days, and range in price from $110-$8,749.