How to replace paste special → values across every sheet with one-click formula stripping
- Step 1Recalculate the whole workbook — In Excel, ensure Calculation is Automatic or press F9, then save. Because the tool freezes cached results per cell, this guarantees every sheet's values are current before the one-pass flatten.
- Step 2Save a copy to convert — Work from a duplicate — flattening is irreversible in the output. Your live-formula master stays intact; the tool also never writes back to your input.
- Step 3Upload the workbook — Drop the
.xlsx(or.xlsm) onto the tool. ExcelJS loads it locally and prepares to iterate every sheet. This is a Pro tool (Pro allows 50 MB / 100,000 rows). - Step 4Run the one-pass flatten — The tool iterates each worksheet and replaces every formula cell with its cached value. There are no per-sheet choices and no options — all sheets are processed automatically.
- Step 5Read the total change count — The result panel shows
N change(s)— the combined number of formula cells converted across all sheets. One number, whole workbook. A surprisingly low number means stale/empty caches; recalc and retry. - Step 6Download and spot-check each tab — Open
…-values-only.xlsxand click into a cell on each sheet. The formula bar should show literal values everywhere — including the tabs you'd have had to remember to Paste-Special manually.
Manual Paste Special vs. one-pass flatten
The per-sheet manual workflow versus uploading once. The difference grows linearly with sheet count.
| Aspect | Excel Paste Special → Values | This tool |
|---|---|---|
| Scope per action | Active sheet only (or current selection) | Every sheet, every cell |
| Steps for a 12-sheet workbook | 12 × (Select-All, Copy, Ctrl+Alt+V, V, Enter) | 1 upload, 1 download |
| Risk of missing a tab | High — easy to forget a back tab | None — iteration is exhaustive |
| Grouped-sheet support | Unreliable; varies by Excel version | N/A — always all sheets |
| Where it runs | In Excel on your machine | In your browser via ExcelJS |
| Reversible | No (per pasted range) | No (in the output copy) |
What gets processed per sheet
The same rule applies uniformly to every worksheet — there is no sheet-by-sheet configuration.
| Per-sheet element | Behaviour |
|---|---|
| Formula cells | Replaced with cached result (fv.result ?? null) |
| Constant cells | Untouched (no formula key) |
| Empty rows / cells | Skipped (includeEmpty: false) |
| Number formats / styles | Preserved on round-trip |
| Hidden sheets | Still processed — formulas on hidden tabs are flattened too |
| Very-hidden sheets | Processed if ExcelJS enumerates them in wb.worksheets |
Cookbook
How a multi-tab workbook changes after one upload. Each tab is flattened with the same rule — no per-sheet steps.
Twelve tabs flattened in one run
The headline benefit: the whole workbook in a single operation instead of repeating Paste Special on each tab.
Manual route: Sheet1: Select-All, Copy, Ctrl+Alt+V, V, Enter Sheet2: ...repeat... ... 12 times ... This tool: Upload Workbook.xlsx -> 1 pass Result: 5,930 change(s) across all 12 sheets · 2,110ms Download Workbook-values-only.xlsx
A back tab you'd have forgotten
Manual Paste Special is only as good as your memory. The exhaustive iteration catches the tab you'd skip.
Workbook tabs: Dashboard | Data | Calc | (… ) | Scratch Scratch is the tab everyone forgets to Paste-Special. After this tool's run: Scratch!A1: =Data!B2*1.2 -> flattened to 264 No live formulas remain on ANY tab, Scratch included.
Hidden sheet flattened too
Hidden tabs still hold live formulas after a manual flatten if you never unhid them. The tool processes them regardless.
Before: 'Assumptions' sheet is Hidden, full of live formulas. Manual Paste Special: skipped (you didn't unhide it). This tool: 'Assumptions' formulas flattened to values in the same pass. (Note: the sheet stays hidden — flattening doesn't delete sheets.)
Grouped-sheet attempt vs. one-pass
Grouping tabs and pasting is the workaround people try; it's unreliable. One upload sidesteps the whole issue.
Excel attempt: Shift-click all tabs (group) -> Select-All -> Paste Special -> Values Result: behaviour varies; often only the active sheet converts. This tool: Always all sheets, no grouping needed.
Confirming the whole-workbook total
The single change count tells you the entire workbook was handled — no need to verify sheet by sheet for coverage.
Result panel: 5,930 change(s) · 2,110ms 5,930 = sum of formula cells flattened across every sheet. If you expected ~6,000, you're covered. A tiny number => recalc needed.
Edge cases and what actually happens
Grouped-sheet Paste Special doesn't apply across the group
Native limitationGrouping sheets (Shift-click) and running Paste Special → Values often converts only the active sheet, depending on Excel version. That's precisely the failure this tool avoids — it always iterates every sheet in wb.worksheets, no grouping required.
Hidden / very-hidden sheets
ProcessedFormulas on hidden and very-hidden sheets are flattened in the same pass because the tool iterates the full worksheet collection — it doesn't skip based on visibility. The flatten does not delete or unhide the sheet; use the Hidden Sheet Destroyer if you want the sheet gone entirely.
Stale caches on some sheets
Stale value riskIf a few sheets weren't recalculated (Manual calc, or formulas added without F9), their cached values are out of date and the tool freezes them as-is, silently. Recalculate the whole workbook (F9) and save before converting.
Empty-cache formulas across sheets
Convert to blankAny formula with no cached result becomes a blank cell (null), not 0. On a never-opened or force-recalc workbook this can affect many cells at once. Open and recalc in Excel first so every sheet's formulas have cached results.
Conditional formatting referencing former formula cells
Not modifiedThe tool doesn't edit conditional-formatting rules; ExcelJS writes them back. Rules that referenced a formula cell now evaluate against the static value. Spot-check CF on each tab if your workbook leans on it heavily.
Charts / pivots spread across tabs
Values retainedCharts and pivots reading former-formula cells now read the static values, so they display the same. ExcelJS round-trips these objects rather than regenerating them — open the output to confirm fidelity on chart-heavy multi-tab files.
Cached error values on any sheet
Error preservedA #REF!, #DIV/0!, or #N/A cached on any sheet is frozen into the cell. Clean errors up first (the Error Locator scans the whole workbook) so you don't hard-code errors across tabs.
Macro-enabled (.xlsm) workbook
Macros remainThe tool accepts .xlsm and flattens its formula cells, but it does not remove the VBA project. If macros also need to go, run the output through the VBA Macro Stripper.
Workbook over the tier limit
RejectedPro 50 MB / 100,000 rows, Pro-media 200 MB / 500,000, Developer 500 MB / unlimited. Large multi-tab workbooks can exceed the limit and are rejected before processing. (Free can't run this Pro tool.)
Frequently asked questions
Can Excel do Paste Special → Values across all sheets natively?
Not reliably without a macro. Grouping sheets (Shift-click the tabs) and pasting often converts only the active sheet, depending on your Excel version. This tool always processes every sheet in one pass, so there's no grouping quirk to work around.
Does it really process every tab, including the ones I'd forget?
Yes. The iteration is exhaustive over the workbook's worksheet collection — there is no sheet selection and no way to accidentally skip a back tab. That's the core advantage over manual Paste Special.
Are hidden sheets included?
Yes — formulas on hidden (and very-hidden) sheets are flattened in the same pass because the tool doesn't filter by visibility. Note it doesn't unhide or delete the sheet; it just flattens the formulas on it. Use the Hidden Sheet Destroyer to remove hidden sheets.
What Excel version do I need?
None for this tool — it runs in the browser via ExcelJS and needs no Excel install. You only need Excel if you want to recalculate (F9) the cached values first, which is recommended.
Is conditional formatting preserved across sheets?
The tool only changes formula cell values; it doesn't edit conditional-formatting rules, which ExcelJS writes back on the round-trip. Rules that referenced formula cells now evaluate against the static values. Spot-check CF-heavy sheets in the output.
Can I pick which sheets to flatten?
No — it's all sheets, every run. If you need to keep some sheets' formulas live, duplicate the workbook, delete the sheets you don't want flattened from the copy you upload, or do a targeted Paste Special → Values in Excel for the rest.
Why is one cell blank after flattening?
That formula had no cached result (never recalculated), so the tool wrote null — a blank cell, not 0. Open the workbook in Excel, press F9, save, and re-run to give every formula a cached value.
Does the single change count cover all sheets?
Yes — it's the combined total of formula cells flattened across every worksheet. One number confirms whole-workbook coverage, so you don't have to verify each tab's count separately (though clicking a cell per tab is still a good final check).
Will my multi-tab workbook get uploaded?
No. ExcelJS processes the whole workbook in your browser; no sheet's data is transmitted to a server.
Is my original workbook changed?
No. The tool writes a new -values-only.xlsx and never modifies your input. Keep your live-formula master as the working copy.
How large a workbook can I process?
Pro 50 MB / 100,000 rows, Pro-media 200 MB / 500,000, Developer 500 MB / unlimited. Free's 5 MB / 10,000-row tier can't run this Pro tool. Oversized files are rejected before processing.
Does it handle array / spill formulas on any sheet?
Yes — array and dynamic-array formulas are formula cells, so they're flattened to their cached results wherever they appear. Verify FILTER / SORT / UNIQUE outputs in Excel after conversion, since full spill metadata isn't reconstructed.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.