Excel does not need a separate macro recorder extension: Microsoft Excel for Microsoft 365 has a built-in recorder on the Developer tab. If by “extension” you mean the file suffix that keeps a recorded macro, save the workbook as .xlsm; other macro-capable formats include .xlsb and the add-in format .xlam.
What “macro recorder extension” can mean
The phrase can refer to two different things. A macro recorder is a tool that captures actions in Excel and turns them into VBA code. A file extension is the text after a filename’s final period, such as .xlsx or .xlsm, which tells Excel what kind of file it is. The recorder is built into desktop Excel; it is not an add-on you have to install.
Some browser stores also offer extensions that record clicks or automate web pages. Those are separate products, not the Excel macro recorder, and their features, permissions, costs, and safety depend on the specific publisher. If your goal is to automate a desktop Excel workbook, use Excel’s built-in recorder first rather than assuming a browser extension will control it.
The distinction matters because recording a macro and preserving it are separate steps. You can record actions successfully, then lose the VBA if you save the workbook in a format that does not support macros. Choosing the right file type is therefore part of finishing the recording, not a feature that the recorder handles automatically.
Which Excel file extension preserves a macro?
For a typical workbook containing recorded VBA, use Excel Macro-Enabled Workbook (.xlsm). An ordinary .xlsx workbook cannot store VBA macro code. If you try to save a workbook containing macros as .xlsx, Excel warns that the macros will be removed if you continue in that format. Choose a macro-enabled format if you need the code later.
- .xlsm: The usual choice for a workbook that contains data, worksheets, and VBA macros.
- .xlsb: A binary Excel workbook that can also store VBA. It may be useful for some large or complex workbooks, but it is less convenient for systems that expect an XML-based workbook.
- .xltm: A macro-enabled Excel template, for creating new workbooks from a template that contains VBA.
- .xlam: An Excel add-in file. This is commonly used to distribute VBA tools that add functionality to Excel, rather than to share an ordinary workbook for editing.
- .xlsx: A standard workbook format that does not preserve VBA macros.
To choose a format, use File > Save As in Excel for Microsoft 365 on Windows, select the file type from the format list, and save. The filename’s suffix is a useful clue, but do not rely on renaming a file from .xlsx to .xlsm: changing the letters does not convert the workbook or restore code already removed. Excel must save the workbook in the appropriate format.
How to record a macro in Excel for Microsoft 365
On Windows, open the workbook, select Developer > Code > Record Macro, give the macro a meaningful name, choose where to store it, and select OK. Perform the actions you want to automate, then select Developer > Code > Stop Recording. Save the workbook as .xlsm if the macro is stored in that workbook.
If Developer is not visible, go to File > Options > Customize Ribbon, select the Developer check box in the list of main tabs, and select OK. The ribbon layout can vary slightly with window size, but Record Macro and Stop Recording are in the Code group on the Developer tab.
- Plan the sequence. Decide which cells, sheet, and operations the macro should use. A recorder captures what you do; it does not infer the general goal behind your actions.
- Start recording. Give the macro a name that starts with a letter and contains no spaces. You can use underscores to separate words. A keyboard shortcut is optional; avoid assigning one that you use for a common Excel command.
- Choose where the code belongs. This Workbook keeps it with the current file. Personal Macro Workbook makes it available in Excel on your computer. New Workbook stores it in a new workbook.
- Carry out only the intended actions. Unnecessary selections, clicks, or edits may become part of the recorded sequence.
- Stop recording and save. Stop the recorder explicitly, then save using a macro-capable format if the code needs to remain in the workbook.
To run a saved macro, use Developer > Code > Macros, select its name, and choose Run. Before using a shortcut or running a macro on important data, try it on a copy. Macros cannot be undone with Ctrl+Z, so a mistake may require closing without saving or restoring a backup.
What the recorder captures—and what it does not
The recorder translates many direct Excel actions into VBA statements. For example, applying bold formatting to a selected range or entering a fixed label can produce code that repeats those operations. This makes it useful for learning basic VBA: after recording, open the Visual Basic Editor and inspect the generated code. On Windows, Alt+F11 opens the editor; on a Mac, the keyboard shortcut can depend on the keyboard and macOS settings, so use Excel’s Developer tab to open the Visual Basic Editor if needed.
However, the recorder is literal. If you select cell B2 and apply a format, the generated macro may refer to B2 specifically. It generally will not understand that you meant “the cell beside the current date” or “the last row of whatever table is present.” A macro recorded against one fixed worksheet layout can fail or affect the wrong cells when the layout changes.
Excel’s Developer tab includes Use Relative References, which changes how the recorder handles cell references. With relative references enabled, recorded movements and actions can be relative to the active cell; with it off, the code commonly refers to fixed locations. This setting can help when repeating a small operation across similarly structured cells, but it does not make a macro fully adaptable. Check the recorded code and test it with representative data.
For example, recording a sequence that selects A1, copies it, and pastes into B1 can produce a macro tied to those cells. If the real task is to process every populated row, a robust solution may need a loop, a table-aware reference, or other VBA logic that the recorder did not create. The recording is a starting point, not proof that the result will work for every workbook.
Where the macro is stored
The storage choice determines where Excel can find the macro later. Choosing This Workbook keeps the code in the current file, which is usually best when you will send that workbook to someone else. The recipient still needs desktop Excel and must make an informed decision about whether to allow the macro to run.
Choosing Personal Macro Workbook stores macros in a hidden workbook named PERSONAL.XLSB on your computer, so they are available when you use Excel there. This is useful for personal repeat tasks, but it does not automatically send the macro along with another workbook. If another person needs it, you must distribute the code or a suitable macro-enabled file separately.
New Workbook stores the macro in a workbook Excel creates for the recording. That can be convenient for a self-contained tool, but remember to save the new workbook in a macro-enabled format. If you are not sure which choice fits, use This Workbook for a macro intended to travel with the current workbook.
Compatibility, availability, and cost
The VBA macro recorder is a feature of the desktop Excel application, including Excel for Microsoft 365 on Windows. Excel for the web can open and edit many workbooks that contain macros, but it cannot create, run, or edit VBA macros. Open a macro-enabled workbook in desktop Excel when you need to record or execute its VBA.
Excel for Mac also includes VBA and a macro recorder, although ribbon details, keyboard shortcuts, and some Excel capabilities differ from Windows. If you share a workbook between Windows and Mac, test the macro on both platforms when both are part of the intended workflow. A macro that calls Windows-specific components or relies on a particular file path may not work on a Mac without changes.
There is no separate Excel macro recorder extension to buy for the basic recording feature. Access depends on having a desktop version of Excel that supports VBA. An add-in or third-party automation tool may have its own pricing and requirements, so check its publisher’s current documentation rather than assuming it is included with Excel.
Safety and common recording problems
VBA can change or delete workbook data, and a macro can also interact with files or other parts of a computer. Treat macro-enabled files from unknown senders cautiously. Do not enable macros just because a document asks you to; confirm that the file and its source are trustworthy. Excel’s security warnings are a reason to pause and assess the source, not a routine hurdle to dismiss.
- The macro disappears after saving: Check whether the file was saved as .xlsx. Save a copy as .xlsm before relying on the macro.
- The macro acts on the wrong cells: Review whether the recording used absolute or relative references, and check which sheet and range were active when it ran.
- The macro is missing on another computer: It may be stored in PERSONAL.XLSB rather than in the shared workbook.
- The recording includes unwanted steps: Record again with a shorter, planned sequence, or edit the generated VBA after making a backup.
- The macro will not run: Confirm that you are using desktop Excel and that the file is macro-enabled. Follow your organization’s security policy rather than weakening macro protections.
Before editing or running unfamiliar VBA, save a separate copy of the workbook. Ctrl+Z does not reverse a macro’s actions. If you need to inspect the code, the Visual Basic Editor can show what a recorded macro will do, but reading code is not a guarantee that every indirect effect is obvious. For workbooks shared with others, explain what the macro does and provide a non-macro copy when practical.
When to use a recorder, an add-in, or another tool
The built-in recorder is a good fit for repetitive, predictable operations in desktop Excel: applying the same formatting, preparing a recurring report, or learning how simple Excel actions map to VBA. It also helps create a first draft of code when you know the steps but are still learning VBA syntax.
Use a purpose-built add-in when you need a packaged feature that is easier for others to install and maintain, but check its compatibility, publisher, permissions, support, and price. An add-in is not inherently safer or more capable just because it has an extension of its own. If the task involves cleaning or transforming data, Power Query may be a better fit because it records a sequence of data transformation steps without using VBA. For a simple calculation or summary, a worksheet formula, Excel table, or PivotTable may be easier to audit than a macro.
In short, record a macro when repeating a sequence of Excel interface actions is genuinely useful. Choose .xlsm when the VBA belongs in a normal workbook, and do not mistake the file extension for an installer or a recorder plug-in.
Frequently Asked Questions
Is there a macro recorder extension for Excel?
Excel has a built-in macro recorder in the desktop app, so a separate extension is not required. Third-party browser extensions are separate tools and may not automate desktop Excel.
What file extension should I use for an Excel macro?
Use .xlsm for a standard macro-enabled workbook. Excel can also store VBA in formats such as .xlsb; .xlam is used for Excel add-ins.
Can I record macros in Excel for the web?
No. Excel for the web can work with many macro-enabled files, but recording, running, and editing VBA requires desktop Excel.
Will a macro still work if I save the file as .xlsx?
No. The .xlsx format does not preserve VBA. Excel warns that macros will be removed if you save a macro-enabled workbook in that format.
Can I undo a recorded macro with Ctrl+Z?
No. Excel’s undo history does not reverse macro actions. Save a copy before running one, especially when it changes or removes data.
Related
- Excel Named Ranges: Can They Cover Multiple Cells?
- Conditional Formatting Colour in Excel: Rules and Fixes
- Power Query Hyperlinks: How to Create and Keep Them
Try it: the Column Letter to Number: aA is 27, XFD is 16,384. Converts both ways.
More in VBA & macros
- Excel Macro Call Another Macro: How VBA Calls WorkYes. In Excel VBA, one macro can run another by calling its Sub procedure by name, such as…
- VBA Add Worksheet After the Last SheetTo add a worksheet after the last sheet tab in Excel, use Worksheets.Add with the last item in…
- Excel VBA: Create an Outlook Email Draft in WindowsYes. In Excel for Microsoft 365 on Windows, VBA can use classic Outlook’s object model to create an…
- VBA Pivot Table Delete: What to Remove and HowYes. In Excel for Microsoft 365 on Windows, remove a PivotTable report with VBA by clearing its full…
- Excel VBA UserForm Image: Add, Load, and TroubleshootAn Excel VBA UserForm displays a picture with the Microsoft Forms Image control: add the control in the…
- Active Worksheet in VBA: How to Reference ItIn Excel VBA, use the ActiveSheet object to refer to the tab that is active at that moment.…
Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources
Spotted an error in this guide? Let us know.