Fix Excel Macros Stopping Working for Other Users After Opening
Question details
A user is experiencing an issue where macros in a shared Excel financial model work initially but fail for other users once the workbook is opened and closed by the original creator.

- Product
- Microsoft Excel
- Device & OS
- Windows
- Scenario
- Sharing a macro-enabled financial model with other users via cloud storage or local downloads.
- Observed behavior
- Macros function properly at first, but completely stop working for all other users after the file is opened and closed on a specific Windows computer, suggesting environmental, add-in, or synchronization conflicts.
Ensure your workbook is strictly saved in the Macro-Enabled Workbook format (.xlsm) and verify that the recipients' macro security settings allow code execution on their local computers.
Verify File Format and Test Local Execution
Isolate whether the issue is caused by the cloud synchronization environment or the file format itself by testing the macro-enabled workbook locally.
Cloud storage synchronization (like OneDrive or SharePoint) can sometimes interfere with macro-enabled files, especially if multiple users interact with the workbook. Testing the file strictly in a local environment helps identify if the cloud service is corrupting the VBA project.
Go to File > Save As and ensure the format is explicitly set to 'Excel Macro-Enabled Workbook (*.xlsm)' rather than a standard XLSX file.
Have the secondary user download the file directly to their local Windows drive (e.g., Desktop or Documents) instead of opening it directly from a shared cloud folder.
Right-click the downloaded file, select Properties, and check the 'Unblock' box at the bottom if it appears. Then open the file and click 'Enable Content' on the yellow security warning bar.
Execute the macro locally. If it works, the issue is likely caused by cloud synchronization altering the file upon opening.

Disable Conflicting Workbook Events and Add-ins
Background processes or add-ins triggered when you open the file may be altering the macro code or workbook structure upon saving.
Repair or Reinstall Microsoft Office
If the workbook corrupts only when opened on your specific computer, your local Office installation may be faulty and corrupting the files it touches.
Try WPS Office for Seamless Spreadsheet Management
If Microsoft Excel's synchronization or macro environment issues persist, consider WPS Office as a free, lightweight, and highly compatible alternative. It offers a familiar interface, ensuring a smooth transition without the heavy resource demands.
- 1. Download WPS Office: Visit the official WPS website and download the free WPS Office installer.
- 2. Install and Launch: Run the installer and open WPS Spreadsheets.
- 3. Open Your Spreadsheet: Click 'Open' and select your Excel file to immediately start working without compatibility issues.

Frequently Asked Questions
Why do my Excel macros stop working when shared via OneDrive or SharePoint?
Cloud synchronization can sometimes conflict with macro-enabled files (.xlsm), especially if multiple users have the file open simultaneously or if AutoSave is constantly updating the file. The sync process might corrupt the VBA project. It is best practice to have users download a local copy to their hard drive before running macros.
Can a specific Windows computer corrupt a macro-enabled workbook?
Yes. If a local Excel installation has corrupted COM add-ins, aggressive antivirus scanning, or missing VBA components, simply opening and saving the file on that specific machine can alter the file structure. This can subsequently break the macros for any other user who tries to open the file.
How do I fix the 'Macros have been disabled' error for other users?
Other users must manually configure their Trust Center settings. They need to navigate to File > Options > Trust Center > Trust Center Settings > Macro Settings, and select 'Disable all macros with notification'. Additionally, Windows requires them to right-click the downloaded file, select Properties, and check 'Unblock' to allow the macros to run.




