Forum Discussion
Disappearing Script Button
- Jan 07, 2026
This is a real Excel for the Web rendering bug, and your observations are actually very diagnostic. You’ve already narrowed it down better than most people do.
Below is a clear breakdown and what you can realistically do about it.
This is a known (but inconsistently documented) Excel for the Web UI bug involving Office Scripts buttons not rendering on initial sheet load.
Your “dummy button” workaround works because it forces the Scripts pane and button-rendering engine to initialize.
Why?...
Excel for the Web handles Script Buttons very differently from:
- Shapes
- Form controls
- Desktop VBA buttons
Internally:
- Script buttons are rendered by a separate React-based UI layer
- That layer is lazy-loaded
- On some workbooks/sheets, it fails to initialize on first load
When you:
- Switch to another sheet that already has a script button
- Excel initializes the Scripts UI
- When you return → the missing button finally renders
Refreshing the browser resets the UI state, so the bug returns.
This is why:
- Desktop Excel works fine
- Dummy button “fixes” it
- Zooming, scrolling, resizing does nothing
- Switching to a sheet without a script button does nothing
Why one button disappears but the dummy doesn’t
This usually happens when one or more of the following are true:
The disappearing button is on a sheet that is:
- First sheet opened by default
- Hidden → then unhidden
- Loaded via a direct link to that sheet
Excel Web sometimes fails to initialize scripts on the initial active sheet.
The button is:
- Positioned partially off-grid
- Anchored to merged cells
- Anchored to filtered rows
- On a protected sheet (even loosely protected)
Excel Web has layout race conditions during load.
Workbook was:
- Originally created in Desktop Excel
- Heavily modified with VBA
- Saved multiple times before scripts were added
This causes stale layout metadata that Web Excel misreads.
Why Microsoft hasn’t “fixed” it yet
Because:
- Office Scripts is still evolving
- This bug is intermittent
- It’s considered “non-blocking” internally
- The workaround (sheet switching) technically exists
So it keeps slipping through release cycles.
Workaround…
Keep your dummy script button on a helper sheet.
You accidentally found the most reliable fix.
If you want to clean it up:
- Rename sheet to _Init or _Scripts
- Hide the sheet
- Leave one script button there forever
Hidden sheets still initialize scripts.
My answers are voluntary and without guarantee!
Hope this will help you.
Was the answer useful? Mark as best response and like it!
This will help all forum participants.
Apparently I can't edit the Original post but have an update to report:
The failure of the button from loading (i.e. disappearing) happens when the page loads with the button off-screen. That said, the button I'm having issues with is in cell C1 and we have first row and columns A:C frozen so they are always showing. So although it should be visible if the page loads showing the end of the document the button does not show but if it loads at the top of the document it will show the button.
As for the dummy button a similar behavior exists. If the page loads to that tab lower in the document (i.e. not showing the button) then the button doesn't show when I scroll up. But if it loads to the top of the page, then the button does load. And if it doesn't initially load, switching back and forth between tab, even when the focus is now at the top where the button should be, doesn't make the button reappear.
However, if I swap the tab order AND the focus is at the top where the button should be, then the button will reappear.
And yes I did submit a bug to microsoft but unfortunately it was before I discovered this additional information and I can't edit that submission.