The warning “Excel Online does not support this feature” appears when you open a workbook in a web browser that contains legacy elements unsupported by the web engine. Excel for the web runs on a lightweight browser framework designed for cross-platform data entry and calculation. It cannot execute desktop-dependent technologies like ActiveX controls, Visual Basic for Applications (VBA) macros, or legacy userforms.
Quick Fix
To interact with the macros or ActiveX components immediately, click Editing at the top of the screen and select Open in Desktop App.
To make the workbook fully compatible with the browser, replace all ActiveX controls with native Form Controls or modern Data Validation, and convert VBA macros into cloud-ready Office Scripts.
Understanding Why the Error Occurs
Excel for the web can store, display, and preserve macro-enabled workbooks (.xlsm and .xlsb) without corrupting their underlying code. However, it cannot run the code.
- ActiveX Controls: These are Windows-specific binary components (such as legacy buttons, text boxes, and sliders) that require local Windows system libraries (COM and OLE). Because web browsers run in sandboxed environments across various operating systems, ActiveX controls cannot render or respond to clicks in a browser.
- VBA Macros: VBA relies on a local execution engine integrated into the Windows and macOS desktop builds. The cloud server hosting Excel for the web does not execute VBA commands.
Step 1: Identify and Remove ActiveX Controls
ActiveX controls are often confused with standard Form Controls. While Form Controls work reliably in most desktop spreadsheet versions, ActiveX controls are prone to corruption and break web compatibility entirely.
How to Remove or Replace ActiveX Elements:
- Open the file in the Excel Desktop Application.
- Go to the Developer tab. (If not visible, right-click any ribbon tab, select Customize the Ribbon, and check Developer).
- Click Design Mode in the Controls group. This allows you to select embedded controls directly.
- Click on the troublesome button, dropdown, or checkbox.
- Check the Formula Bar. If it reads something like
=EMBED("Forms.CommandButton.1",""), it is an ActiveX control. - Press
Deleteto remove the control. - Replace it with a web-friendly alternative:
- For Buttons: Insert a basic shape (Insert > Illustrations > Shapes) or use an Office Script button.
- For Dropdowns: Use native In-Cell Data Validation (Data > Data Validation > List).
- For Checkboxes: Use native cell checkboxes (Insert > Checkbox in modern Microsoft 365) rather than embedded control objects.
If you suspect hidden or microscopic controls are lingering on your sheets, see Fixing crashes caused by “Objects” (Hidden shapes and text boxes) piling up..
Step 2: Migrate VBA Logic to Modern Office Scripts
If your workbook relies on automated routines that must run directly within a web browser or on mobile devices, you should transition from VBA to Office Scripts. Office Scripts use TypeScript/JavaScript and run on the cloud server rather than your local computer.
- Open the workbook in Excel for the web or modern Excel Desktop.
- Go to the Automate tab.
- Click New Script (or Record Actions to capture simple formatting, row insertion, or formula steps).
- Paste or write your modern logic into the Code Editor.
- Click Save Script.
- Once saved, click the three dots (
...) next to the script name in the Automate pane and choose Add button. This places an interactive, web-compatible button directly on the worksheet.
If your users work primarily in desktop environments and encounter local security stops after downloading these files, consult “Macros have been disabled”: Troubleshooting the “Trusted Locations” security block..
Step 3: Resolving “View-Only” Lockouts in the Browser
Sometimes a workbook containing legacy features opens in Excel Online in View Only mode, preventing users from editing even regular cells.
What Causes This:
- The workbook contains a legacy feature that Excel Online cannot bypass safely (such as legacy workbook protection, XML expansion packs, or obsolete OLE object links).
- The file is saved in the legacy
.xlsformat (Excel 97–2003).
How to Fix It:
- Open the file in your desktop app.
- Navigate to File > Save As.
- Set the file format to Excel Workbook (*.xlsx) if macros are unnecessary, or Excel Macro-Enabled Workbook (*.xlsm) if you must retain the underlying VBA for desktop users.
- Go to Review > Protect Workbook and confirm that structural protection is turned off if it is not required.
- Re-upload the file to SharePoint or OneDrive. Users will now be able to edit the sheet grid in their browser, while desktop users can still launch the full desktop application to execute macros.
If multiple team members trigger sync discrepancies while toggling between web and desktop modes, see “Merge Conflict”: Resolving co-authoring errors in Excel Online..
Summary Checklist
- Use Open in Desktop App whenever you need to execute legacy VBA or ActiveX code.
- Delete
=EMBED(...)ActiveX controls and replace them with native shapes, cell validation, or modern cell checkboxes. - Convert recurring automation workflows into Office Scripts via the Automate tab.
- Save files as
.xlsxor.xlsminstead of older.xlsformats.