VBA & Macro Problems

Why Excel VBA Worksheet Events Stop Working in Shared Workbooks and How to Fix It

Chanuka GeekiyanageChanuka Geekiyanage Nov 10, 2026 871 views

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.

How to Fix Excel VBA Worksheet Events Not Working in Shared Workbooks
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.
Before you start

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.

Solution 1Recommended

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.

1
Insert a macro button

Navigate to the Developer tab on the Excel ribbon, click 'Insert', and select 'Button (Form Control)' from the drop-down menu.

2
Assign the macro

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'.

3
Execute the macro manually

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.

Use Manual Macros Instead of Automatic Events
Shared Workbook Limitations: Even if Application.EnableEvents returns True, the legacy shared mode will still block many automatic events. Relying on manual triggers avoids this architectural limitation entirely.
Free Microsoft Office alternative

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. 1. Download WPS Office: Visit the official WPS website to download and install the free WPS Office suite.
  2. 2. Open your workbooks: Launch WPS Spreadsheet and open your existing Excel files directly without losing any formatting.
  3. 3. Collaborate easily: Use WPS Cloud to share your spreadsheets and collaborate with your team without the legacy shared workbook limitations.
Highly compatible with Microsoft Excel (.xlsx, .xls, .xlsm) formatsLightweight design ensures fast loading and smooth performance on any deviceFamiliar ribbon interface requires zero learning curveBuilt-in cloud collaboration tools for modern and reliable teamwork
microsoft office alternative - wps office

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.