Fix Excel Macros Missing from Macro List but Visible in VBA
Question details
Users are unable to see or run their macros from the standard Excel macro list, even though the VBA code is intact and fully visible when checking the Visual Basic Editor.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Attempting to run a previously created macro from the Developer tab or the Macros dialog box.
- Observed behavior
- The Macros list (ALT+F8) appears completely empty or is missing specific macros, while opening the Visual Basic Editor (ALT+F11) confirms the VBA code modules are still present and unmodified.
Before modifying or recompiling your VBA code, save a backup copy of your workbook (in the .xlsm format) to ensure you do not accidentally lose any code or data.
Force Compile the VBA Project
Making a minor edit and forcing the Visual Basic Editor to recompile the project refreshes the module and typically restores the missing macros to the Excel interface.
Excel can sometimes fail to properly synchronize the VBA back-end with the front-end interface. Recompiling forces Excel to read the module afresh.
Press ALT + F11 on your keyboard, or navigate to the Developer tab on the Excel ribbon and click the 'Visual Basic' button.
Open the affected VBA module from the project explorer on the left. Type a space or a blank line anywhere in the code, and then immediately delete it. This marks the project as modified.
In the top menu bar of the Visual Basic Editor, click on 'Debug' and then select 'Compile VBAProject'.
Close the Visual Basic Editor. Back in Excel, press ALT + F8 to open the Macro dialog box and verify that your macros have returned.

Cut and Paste Module Contents
If compiling does not refresh the macro list, completely cutting and pasting the VBA code forces Excel to completely re-register the macros.
Try WPS Office for a Seamless Spreadsheet Experience
If you frequently encounter interface glitches or macro sync issues in your current spreadsheet software, consider switching to WPS Office. It provides a lightweight, highly compatible, and user-friendly environment for all your document and spreadsheet needs.
- 1. Visit the official website: Go to the official WPS Office website to find the free download.
- 2. Download and install: Click 'Download' to get the installer, and follow the on-screen prompts to set up the software.
- 3. Open your files instantly: Double-click your existing spreadsheet files to open them seamlessly in WPS Office.

Frequently Asked Questions
Why do my macros randomly disappear from the Excel macro list?
This usually happens due to a state desynchronization between the Excel workbook interface and the underlying VBA environment. A minor compilation error or a failure to refresh the module can cause the front-end macro list to appear empty.
Do macros with parameters show up in the macro list?
No. If your VBA subroutine requires arguments (for example, 'Sub MyMacro(ByVal x As Integer)'), it will not appear in the standard ALT+F8 macro list. It is still visible in the VBA Editor and can be called from other macros.
Are private subroutines visible in the Developer macro list?
No. If a macro is declared with 'Private Sub' instead of 'Public Sub' or just 'Sub', Excel will hide it from the main macro list. You will only be able to see it by opening the Visual Basic Editor.
Did saving my file as .xlsx delete my macros?
Yes. The standard .xlsx format cannot store VBA macros. If you save a macro-enabled workbook as an .xlsx file, Excel strips the macros out entirely. You must save your workbooks as .xlsm or .xlsb to preserve VBA code.




