In Excel, you can create a macro by recording it or by writing a code in the VB editor. Once created, you need to run the macro.
Now, there are various ways you can run a macro in Excel:
- Assign the macro to a button and click on it to run the macro.
- Assign macro to a shape and click on it to run the macro.
- Run the macro directly from the VB editor.
- Use the Macro dialogue box in the developer tab.
How to Run a Macro in Excel
In this tutorial, I’ll show you how to run a macro using all the above-mentioned methods.
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.
#1 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:
- Go to Insert –> Illustrations –> Shapes. Insert any shape to which you want to assign the macro.
- Click anywhere in the worksheet. It will insert the shape 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.
#2 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 in 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 within the button. To do this, right-click on it and select Edit Text.
Note: You can also assign a macro to other interactive controls, such as a checkbox or scroll bar.
#3 Run a Macro from the VB Editor
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.
#4 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.