Automate tasks with the Macro Recorder

To automate a repetitive task, you can record a macro with the Macro Recorder in Microsoft Excel. Imagine you have dates in random formats and you want to apply a single format to all of them. A macro can do that for you. You can record a macro applying the format you want, and then replay the macro whenever needed.

Watch a video that shows you how to create a macro that formats dates in Excel.

When you record a macro, the macro recorder records all the steps in Visual Basic for Applications (VBA) code. These steps can include typing text or numbers, clicking cells or commands on the ribbon or on menus, formatting cells, rows, or columns, or even importing data from an external source, say, Microsoft Access. Visual Basic Application (VBA) is a subset of the powerful Visual Basic programming language, and is included with most Office applications. Although VBA gives you the ability to automate processes within and between Office applications, it is not necessary to know VBA code or computer programming if the Macro Recorder does what you want.

It is important to know that you when you record a macro, the Macro Recorder captures almost every move you make. So if you make a mistake in your sequence, for example, clicking a button that you did not intend to click, the Macro Recorder will record it. The resolution is to re-record the entire sequence, or modify the VBA code itself. This is why whenever you record something, it's best to record a process with which you're highly familiar. The more smoothly you record a sequence, the more efficiently the macro will run when you play it back.

Macros and VBA tools can be found on the Developer tab, which is hidden by default, so the first step is to enable it. For more information, see Show the Developer tab.

Developer tab on the ribbon

Record a macro

There are a few helpful things you should know about macros:

  • When you record a macro for performing a set of tasks in a range in Excel, the macro will only run on the cells within the range. So if you added an extra row to the range, the macro will not run the process on the new row, but only the cells within the range.

  • If you have planned a long process of tasks to record, plan to have smaller relevant macros instead of having one long macro.

  • It is not necessary that only tasks in Excel can be recorded in a macro. Your macro process can extend to other Office applications, and any other applications that support Visual Basic Application (VBA). For example, you can record a macro where you first update a table in Excel and then open Outlook to email the table to an email address.

Follow these steps to record a macro.

  1. You have to first enable macros in Excel. To do this:

    1. On the Developer tab, in the Code group, click Macro Security.

    2. Under Macro Settings, click Enable all macros (not recommended, potentially dangerous code can run), and then click OK.

      Caution:  Malicious macro code can seriously damage your computer. To help prevent potentially dangerous code from running, we recommend that you have a virus scan application installed, and return to your default macro setting after you finish working with macros.

  2. On the Developer tab, in the Code group, click Record Macro.


    Press Alt+T+M+R .

    Record Macro
  3. In the Macro name box, enter a name for the macro. Make the name as descriptive as possible so you can quickly find it if you create more than one macro.

    Note:  The first character of the macro name must be a letter. Subsequent characters can be letters, numbers, or underscore characters. Spaces cannot be used in a macro name; an underscore character works well as a word separator. If you use a macro name that is also a cell reference, you may get an error message that the macro name is not valid.

  4. To assign a Control (Ctrl) combination shortcut key to run the macro, in the Shortcut key box, type any letter (both uppercase or lowercase will work) that you want to use. It is best to use Ctrl + Shift (uppercase) key combinations, because the shortcut key will override any equivalent default Excel shortcut key while the workbook that contains the macro is open. For instance, if you use Ctrl + z (Undo), you will lose the ability to Undo in that Excel instance.

  5. In the Store macro in list, select where you want to store the macro.

    In general, you’ll save your macro in the This Workbook location, but if you want a macro to be available whenever you use Excel, select Personal Macro Workbook. When you select Personal Macro Workbook, Excel creates a hidden personal macro workbook (Personal.xlsb) if it does not already exist, and saves the macro in this workbook. In Windows 10, Windows 7, and Windows Vista, this workbook is saved in the C:\Users\user name\AppData\Local\Microsoft\Excel\XLStart folder. In Microsoft Windows XP, this workbook is saved in the C:\Documents and Settings\user name\Application Data\Microsoft\Excel\XLStart folder. Workbooks in the XLStart folder are opened automatically whenever Excel starts, and any code you have stored in the personal macro workbook will be listed in the Macro dialog, which is explained in the next section. For more information, see Save a macro.

  6. In the Description box, optionally type a brief description of what the macro does.

    Although the description field is optional, it is recommended you enter one. Also, try to enter a meaningful description with any information that may be useful to you or other users who will be running the macro. If you create a lot of macros, the description can help you quickly identify which macro does what, otherwise you might have to guess.

  7. Click OK to start recording.

  8. Perform the actions that you want to record.

  9. On the Developer tab, in the Code group, click Stop Recording Button image .


    Press Alt+T+M+R.

Working with recorded macros in Excel

In the Developer tab, click Macros to view macros associated to a workbook. Or press Alt+ F8. This opens the Macro dialog box.

Macro dialog box

Note: Macros cannot be undone. Before you run a recorded macro for the first time, make sure that you’ve either saved the workbook where you want to run the macro, or better yet work on a copy of the workbook to prevent unwanted changes. If you run a macro and it doesn’t do what you want, you can close the workbook without saving it.

Here's further information on working with macros in Excel.



Change macro security settings in Excel

Read specific information on available security settings for macros, and their meaning.

Run a macro

There are several different ways you can run a macro, such as using a shortcut key, graphic object, Quick Access Toolbar, a button, or even when opening a workbook.

Edit a macro

You use the Visual Basic Editor to edit the macros attached to a workbook.

Copy a macro module to another workbook

If a workbook contains a VBA macro that you would like to use elsewhere, you can copy the module that contains that macro to another open workbook by using the Microsoft Visual Basic Editor.

Assign a macro to an object, shape or graphic

  1. On a worksheet, right-click the object, graphic, shape, or the item to which you want to assign an existing macro, and then click Assign Macro.

  2. In the Assign Macro box, click the macro that you want to assign.

Assign a macro to a button

You can assign a macro to a graphic icon, and add it to Quick Access Toolbar, or the ribbon.

Assign a macro to a control on a worksheet

You can assign macros to forms and ActiveX controls in a worksheet.

Enable or disable macros in Office files

Learn how to enable or disable macros in Office files.

Open the Visual Basic Editor

Press Alt+F11

Find Help on using the Visual Basic Editor

Learn how to find help on Visual Basic elements.

Working with recorded code in the Visual Basic Editor (VBE)

You can work with recorded code in the Visual Basic Editor (VBE) and add your own variables, control structures, and other code that the Macro Recorder cannot record. Since the macro recorder captures almost every step you take while recording, you can also clean up any unnecessary recorded code that serves no purpose in the macro. Reviewing your recorded code is a great way to learn or sharpen your VBA programming skills.

For more information on modifying recorded code in an example, see Getting Started with VBA in Excel.

Need more help?

You can always ask an expert in the Excel Tech Community, get support in the Answers community, or suggest a new feature or improvement on Excel User Voice.

See Also

Quick start: Create a macro

Keyboard shortcuts in Excel for Windows

Keyboard shortcuts in Excel for Mac

Expand your skills
Explore training
Get new features first
Join Office Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.