Watch Video – Running a Macro in Excel
Once created, you need to run the macro.
In this tutorial, I’ll show you different ways to run a macro in Excel.
If you’re interested in learning VBA the easy way, check out my Online Excel VBA Training.
How to Run a Macro in Excel
For the purpose of this tutorial, let’s say we have a macro named ‘ColorCell’ with the following code:
Sub ColorCell() Range("A1").Interior.Color = vbRed End Sub
This one line code would fill the cell A1 of the active sheet with red color.
Now let’s see various ways to run this macro in Excel.
Assign the Macro to a Shape
The benefit of this method is that it makes it really easy and intuitive for anyone to run the macro. Even if you share the workbook with someone who has no knowledge of VBA, he/she can just click on the button and see the actions take place (without even knowing what happens in the back end).
Something as shown below:
Here are the steps to do this:
- Click the Insert tab.
- In the Illustrations group, click on the Shapes icon. Insert any shape to which you want to assign the macro.
- Click anywhere in the worksheet. It will insert the shape object in the worksheet.
- Resize/Format the shape the way you want. In the example above, I have changed the size, color, and border. You can also insert any text in the shape by simply selecting it and typing the text.
- Right-click on the shape and select Assign Macro option. This opens the Assign Macro dialogue box.
- In the Assign Macro dialogue box, select the macro you want to assign to the shape and click the OK button.
That’s it! Now the shape would work as a button and whenever you click on it, it will run the assigned macro.
Assign the Macro to a Button
While a shape is something you can format, a button has a standard format.
Here is how it looks:
Here are the steps to assign a macro to a button:
- Go to the Developer tab –> Controls –> Insert –> Form Controls –> Button.
- Developer tab is not visible on the ribbon by default and you may need to add it before using it..
- Click anywhere in the worksheet. As soon as you do this, it will open the Assign Macro dialogue box.
- Select the macro you want to assign to the button and click on OK. This would insert the button in the worksheet.
The button inserted using this technique is a standard one and you can’t change the formatting of the button (unlike shapes, where you can change practically everything).
However, you can change the text of the button. To do this, right-click on it and select Edit Text.
Run a Macro from the Ribbon (Developer Tab)
If you have multiple macros in the workbook, you can see a list of all the macros in the Macros dialogue box. It makes it easy to run multiple macros from a single place.
Here are the steps:
- Go to the Developer Tab –> Code –> Macros.
- The Macros dialogue box lists all the macros in the workbook. Select the one that you want to run.
- Click Run.
Run a Macro from the VB Editor
If you are the one writing and testing macros, then instead of inserting buttons, you can directly run a macro from the VB Editor.
Here are the steps:
- Select any line within the code in the code window. If you have multiple macros/subs, make sure your cursor is in the macro that you want to run.
- Go to the toolbar and click on the Green triangle icon (you can also use the keyboard shortcut – F5).
As soon as you do this, the macro would be executed.
If you only have the VB Editor open (and you can’t see the worksheet), you may not see the change happening in the worksheet. You can minimize the VB Editor screen and then run the macro to see the changes in real-time.
You May Also Like the Following Excel VBA Tutorials:
- Working with Cells and Ranges in Excel VBA.
- Working with Worksheets in VBA.
- Working with Workbooks in VBA.
- Using Loops in Excel VBA.
- Using IF Then Else Statement in Excel VBA.
- Creating User-Defined Functions in Excel.
- Excel VBA Events – An Easy (and Complete) Guide.
- How to Create and Use Personal Macro Workbook in Excel.
- 24 Useful Excel Macro Examples.
- How to Create and Use an Excel Add-in.
- Guide to Using For Next Loop in Excel VBA.