Fix Excel 365 Macros Not Appearing in the Macros Dialog
Question details
The user is unable to see their workbook-specific macros in the Excel Macros dialog (Alt+F8), even though the macros run successfully from the Visual Basic Editor.

- Product
- Excel 365
- Device & OS
- not provided
- Scenario
- The user wants to quickly execute their custom macros using the standard Macros dialog box instead of opening the VBA Editor.
- Observed behavior
- The Macros dialog only displays macros stored in Personal.xlsb, completely omitting the macros that are saved within the active macro-enabled workbook.
Ensure your workbook is saved as an Excel Macro-Enabled Workbook (.xlsm or .xlsb) and that you have enabled macros in your Trust Center settings.
Resolve Module and Macro Naming Conflicts
Fix visibility issues caused by a code module sharing the exact same name as the macro procedure inside it.
In Excel VBA, giving a subroutine (macro) and its parent code module the identical name causes a namespace conflict. This prevents Excel from displaying the macro in the Alt+F8 dialog, even though it still runs perfectly from the Visual Basic Editor.
Press Alt+F11 on your keyboard to open the VBA Editor in Excel.
In the Project Explorer panel on the left, expand your workbook project and look at the names of your Modules (e.g., Module1, MyMacroCode).
Check the code inside the module. If the 'Sub' name matches the Module name, change one of them. For example, rename the module to 'modMyMacro' in the Properties window, keeping the macro name as 'MyMacro'.
Return to your Excel worksheet and press Alt+F8. The macro should now appear in the list.

Move the Macro to a Standard Module
Ensure your macro is placed in a standard module rather than a worksheet or workbook object.
Check for Parameters and Private Declarations
Modify macro declarations to ensure they are public and don't require arguments.
Run and Edit Macros Seamlessly with WPS Spreadsheet
WPS Office provides robust support for VBA and macros, allowing you to automate tasks and run your scripts without unexpected visibility glitches. It offers native compatibility with Microsoft Excel macro formats, ensuring your existing VBA projects work instantly.
- 1. Open your Macro Workbook: Launch WPS Spreadsheet and open your existing .xlsm or .xlsb file containing the macros.
- 2. Enable Macros: Navigate to the Developer tab and click to enable macros for your current session.
- 3. Run Your Code: Click the 'Macros' button on the ribbon or press Alt+F8 to view and execute your standard macros instantly.

Frequently Asked Questions
Why do macros with parameters not show up in the Alt+F8 dialog?
The Excel Macros dialog only lists standard subroutines that do not require any input arguments to run. If a macro expects parameters (e.g., Sub Calculate(Total As Integer)), Excel assumes it must be called programmatically by another script, so it hides it from the manual run dialog.
Can I run a 'Private Sub' from the Macros dialog?
No, declaring a subroutine as 'Private Sub' specifically hides it from the user interface and the Macros dialog. It restricts the macro so it can only be triggered by other macros within the exact same module. Change it to 'Sub' to make it visible.
Why are only macros from Personal.xlsb showing up?
If you only see macros from Personal.xlsb, it means the Macros dialog is filtering correctly, but the macros in your active workbook are either misnamed, placed in worksheet objects instead of standard modules, or saved in a format that does not support macros (.xlsx).




