How to Fix Excel Macros Missing from the Macro Dialog
Question details
The user is unable to find or execute their VBA macros because they do not appear in the standard Macro dialog box.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Attempting to run a newly created or imported VBA macro from the Macro dialog list.
- Observed behavior
- The macro is missing from the list, typically due to being an event procedure, requiring arguments, or containing VBA compilation errors.
Before troubleshooting your VBA code, ensure that your workbook is saved in a macro-enabled format (.xlsm or .xlsb) and that you have enabled macros in your Excel Trust Center settings.
Verify the Procedure Location and Arguments
Macros will only appear in the dialog if they are public procedures located in a standard module and do not require parameters.
Excel's Macro dialog filters out certain types of VBA code by design. Event macros (like those triggered by clicking a sheet) and macros that require specific input arguments are intentionally hidden because they cannot be run as standalone procedures.
Open your Excel workbook and press ALT + F11 on your keyboard to launch the Visual Basic for Applications (VBA) Editor.
Look at the Project Explorer pane on the left. Ensure your code is inside a standard 'Module' (e.g., Module1). If it is placed inside 'ThisWorkbook' or a specific 'Sheet' module, it is treated as event code and will not show in the dialog.
Check the first line of your macro. It must begin with 'Sub MacroName()' without any parameters inside the parentheses. If it looks like 'Sub MacroName(x As Integer)', it will be hidden.
If your macro is in the wrong place, click Insert > Module from the top menu, and cut and paste your VBA code into the new standard module window.

Debug and Compile the VBA Project
If your VBA project contains compilation errors or missing library references, Excel may prevent the macros from appearing in the dialog.
Try WPS Office for Seamless Spreadsheet and Macro Handling
If you frequently encounter frustrating VBA bugs or performance issues in Microsoft Excel, consider switching to WPS Office. It provides a lightweight, highly compatible spreadsheet environment with a familiar user interface, making migration effortless.
- 1. Download WPS Office: Visit the official WPS website to download and install the free office suite.
- 2. Open your workbook: Launch WPS Spreadsheet, click 'Menu' > 'Open', and select your existing Excel file.
- 3. Continue working seamlessly: Work on your data immediately with full support for standard spreadsheet functions and formatting.

Frequently Asked Questions
Why did my macro disappear after I saved and reopened my Excel file?
If you saved the file as a standard Excel Workbook (.xlsx) instead of a Macro-Enabled Workbook (.xlsm), all VBA code is automatically stripped out upon saving. You must always save files containing macros in the .xlsm or .xlsb format.
Can I run an event macro manually from the Macro dialog?
No, event macros (such as Worksheet_Change or Workbook_Open) are designed to run automatically only when a specific action occurs in the spreadsheet. They are intentionally hidden from the standard Macro dialog (ALT + F8).
How do I fix missing VBA references causing hidden macros?
In the VBA editor, go to Tools > References in the top menu. Scroll through the list and look for any checked item marked as 'MISSING:'. Uncheck the missing library if it is no longer needed, or browse your system to locate the correct file, then click OK and recompile your project.




