Why Excel VBA Worksheet Events Stop Working in Shared Workbooks and How to Fix It
Question details
The user is trying to resolve an issue where Excel VBA worksheet events fail to trigger automatically when the workbook is set to legacy shared mode.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Collaborating on a legacy shared Excel workbook that relies on VBA event macros for automation.
- Observed behavior
- Worksheet events do not fire automatically for multiple users, even though manual macros run correctly and Application.EnableEvents remains set to True.
Verify that your VBA event code is correctly placed in the specific Worksheet or ThisWorkbook module rather than a standard module, and double-check that Application.EnableEvents is not accidentally set to False.
Use Manual Macros Instead of Automatic Events
Replace unreliable automatic event triggers with manual buttons that users can click to execute macros safely in a shared workbook.
Legacy shared-workbook mode fundamentally restricts certain VBA functionalities. Because the shared-workbook architecture prevents events from firing reliably when multiple users are editing, transitioning to manual macro execution is the most stable workaround.
Navigate to the Developer tab on the Excel ribbon, click 'Insert', and select 'Button (Form Control)' from the drop-down menu.
Draw the button on your worksheet. When the 'Assign Macro' dialog box appears, select the macro that contains the logic previously handled by your worksheet event and click 'OK'.
Instruct the users of the shared workbook to click the newly created button to manually trigger the VBA code when they complete their data entry.

Migrate to Modern Microsoft 365 Co-Authoring
Switch from the legacy Shared Workbook feature to modern Co-authoring to improve collaboration stability.
Looking for a seamless Office experience? Try WPS Office
If you are frustrated by the limitations of legacy shared workbooks and VBA quirks in Microsoft Excel, consider WPS Office. It provides a lightweight, highly compatible alternative with a familiar user interface, allowing you to handle spreadsheets, documents, and presentations effortlessly.
- 1. Download WPS Office: Visit the official WPS website to download and install the free WPS Office suite.
- 2. Open your workbooks: Launch WPS Spreadsheet and open your existing Excel files directly without losing any formatting.
- 3. Collaborate easily: Use WPS Cloud to share your spreadsheets and collaborate with your team without the legacy shared workbook limitations.

Frequently Asked Questions
Why does Application.EnableEvents return True but macros still fail in shared mode?
In legacy shared workbooks, architectural limitations prevent automatic events (like Worksheet_Change) from firing reliably for multiple users. This happens independently of the EnableEvents property, meaning it will still show as True even when events are being suppressed by the sharing engine.
Will moving my VBA code to a standard module fix the event issue?
No. Event handler code must reside in the specific Worksheet object module or the ThisWorkbook module to function. Moving it to a standard module will prevent Excel from recognizing the events entirely.
Are manual macros affected by the legacy shared workbook limitations?
Generally, standard manual macros triggered via buttons, shapes, or the macro menu remain functional in shared workbooks. Only automatic, event-driven procedures suffer from the reliability issues associated with the legacy shared mode.
Does modern Excel co-authoring support VBA Worksheet events?
While modern co-authoring on OneDrive or SharePoint is much more stable than legacy shared mode, running complex VBA events simultaneously by multiple users can still cause synchronization conflicts. It is best practice to avoid relying heavily on automated VBA events during live co-authoring.




