How to Run a Macro in Excel

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:

How to Run a Macro in Excel - Button Demo

Here are the steps to do this:

  • Go to Insert –> Illustrations –> Shapes. Insert any shape to which you want to assign the macro.How to Run a Macro in Excel - Insert Shape
  • Click anywhere in the worksheet. It will insert the shape in the worksheet.How to Run a Macro in Excel - insert Shape click
  • 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.How to Run a Macro in Excel - format shape
  • Right-click on the shape and select Assign Macro option. This opens the Assign Macro dialogue box.How to Run a Macro in Excel - Assign macro
  • In the Assign Macro dialogue box, select the macro you want to assign to the shape and click the OK button.How to Run a Macro in Excel - Assign Macro Dialogue box

That’s it! Now the shape would work as a button and whenever you click on it, it will run the assigned macro.How to Run a Macro in Excel - Button Demo

#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:

How to Run a Macro in Excel - button

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..How to Run a Macro in Excel - Insert Button
  • 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.How to Run a Macro in Excel - Assign Macro Dialogue box

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.

How to Run a Macro in Excel - change button 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.How to Run a Macro in Excel - Macro
  • The Macros dialogue box lists all the macros in the workbook. Select the one that you want to run.How to Run a Macro in Excel - Select Macro
  • Click Run.How to Run a Macro in Excel - Macro 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).How to Run a Macro in Excel - From VB Editor

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.

  • Dominique Bernier

    Ok, I have an interesting challenge here. I need to run a macro which will link my first columns (A), which is a drop down list of job positions (5 entries), to my 2nd column (B), which are check boxes of skill requirements (10 entries), and my 3rd column (C), which is a list of training activities (50 entries). I’m trying to be able to select a job position which will generate the skill requirements and the related training activities. As an example: If selected Job position “A2” = “skill B1”, “skill B2”, “skill B5” = training activities “C4”, “C7”, “C18”, “C21”, “C37”, “C45”, “C49”. Thanks for your help!

  • Dominique Bernier

    Ok, I have an interesting challenge here. I need to run a macro which will link my first columns (A), which is a drop down list of job positions (5 entries), to my 2nd column (B), which are check boxes of skill requirements (10 entries), and my 3rd column (C), which is a list of training activities (50 entries). I’m trying to be able to select a job position which will generate the skill requirements and the related training activities. As an example: If selected Job position “A2” = “skill B1”, “skill B2”, “skill B5” = training activities “C4”, “C7”, “C18”, “C21”, “C37”, “C45”, “C49”. Thanks for your help!