You converted your Excel workbook from .xls to .xlsx. The formulas look right. The data is there. But when you click Refresh on the pivot table — nothing updates, or you get an error. This is one of the most common post-migration headaches, and there are three distinct causes, each with a different fix.
This guide covers all three. Work through them in order and you'll have your pivot tables refreshing correctly again.
Pivot tables in .xls files store data source references differently than .xlsx files. The older binary format encoded source references in a way that doesn't always translate cleanly to the XML-based .xlsx format — especially when the pivot table pulls from an external file, a named range, or a data connection. Pivot tables are one of several features that need attention during migration; our complete guide to legacy Excel migration covers the full checklist.
Three failure modes cover almost every case:
If the pivot table was pulling data from within the same workbook, converting the file should keep that working — but sometimes the source reference gets stuck pointing to the old file.
Symptom:
"We cannot locate a server to host the requested workbook" or pivot table shows data from what appears to be a cached snapshot rather than the live data on the sheet.
Fix:
Sheet1!$A$1:$F$500)'C:\Users\...\report.xls'!Sheet1!$A$1:$F$500, update it to point to the current sheet without the file path prefixIf you're using a named range as the pivot source, check that the named range still exists and points to the right cells. Go to Formulas > Name Manager and look for any names with #REF! errors.
LegacyLeaps's conversion preserves pivot table source references. If you're converting dozens of files, it's faster than fixing each one manually.
Try the Free ScanEvery pivot table stores a cached copy of its source data called the pivot cache. During XLS to XLSX conversion, this cache can become corrupt — the pivot table appears to work but shows stale or incorrect data, and Refresh doesn't fix it.
Symptom:
Pivot table shows old data that doesn't match the source sheet, or you see row/column labels that no longer exist in the source data, or clicking Refresh does nothing visible.
Fix (delete and recreate the pivot table):
This forces Excel to build a fresh cache from the current worksheet data. It's more work than a one-click fix, but it's the most reliable way to clear a corrupted cache.
If you have multiple pivot tables on the same cache (a common pattern where several pivot tables share one source), you'll need to recreate all of them. You can check whether pivot tables share a cache by looking at their PivotTable.CacheIndex property in VBA — tables with the same index share a cache.
If you have many pivot tables on the same sheet, this macro saves time:
Sub RefreshAllPivotCaches()
Dim pc As PivotCache
For Each pc In ActiveWorkbook.PivotCaches
On Error Resume Next
pc.Refresh
On Error GoTo 0
Next pc
MsgBox "All pivot caches refreshed."
End Sub
Run this from the Developer tab > Macros. If it errors on a specific cache, that cache has a broken source reference — use Fix 1 to correct it first.
Some pivot tables in .xls files pulled data from an external source: another Excel file, a CSV, an Access database, or a SQL Server connection. When the workbook was converted, the connection string stored inside the file still points to the old .xls source — or worse, the source file was also renamed or moved during the migration.
Symptom:
"Excel cannot complete this task with available resources" or "The workbook contains one or more queries that reference external data sources" — and the pivot shows no data at all.
Fix:
For Power Query connections (common in Excel 2016+), go to Data > Get Data > Launch Power Query Editor, find the affected queries, and update the source step to point to the new file path.
When your pivot table pulls from Sheet1 of the same workbook, fixing one file is enough. But many organizations build reporting workbooks that aggregate data from 10, 20, or 50 separate source files — all of which were .xls, and all of which may now be .xlsx after a batch conversion.
In this scenario, the aggregating workbook's pivot tables or data connections reference the old .xls filenames. Every connection needs to be updated to the new .xlsx filename.
The cleanest way to handle a batch rename like this is to write a VBA script that iterates all connections and replaces .xls with .xlsx in each connection string:
Sub UpdateConnectionPaths()
Dim cn As WorkbookConnection
Dim oldExt As String, newExt As String
oldExt = ".xls"
newExt = ".xlsx"
For Each cn In ActiveWorkbook.Connections
If InStr(cn.OLEDBConnection.Connection, oldExt) > 0 Then
cn.OLEDBConnection.Connection = _
Replace(cn.OLEDBConnection.Connection, oldExt, newExt)
End If
Next cn
MsgBox "Connection paths updated."
End Sub
Test this on a copy of the workbook first. Not all connections are OLEDBConnection type — if the script errors, check the connection type (cn.Type) and adapt accordingly.
Running LegacyLeaps's free scan before conversion will identify pivot tables with external data sources — so you know which files will need post-conversion attention before you start.
The scan report shows:
Knowing this in advance means you can plan the conversion order — convert source files before the aggregating workbooks that depend on them — instead of discovering broken connections after the fact.
LegacyLeaps scans for external references, data connections, and pivot table sources before you convert — so you know exactly what to fix. Free scan, no commitment.
Download Free Scanner| Symptom | Cause | Fix |
|---|---|---|
| Shows old data, won't update | Stale or corrupt pivot cache | Delete pivot table, recreate from source |
| Data source path points to .xls file | Source reference not updated on conversion | Change Data Source to current sheet/range |
| Error on refresh, no data loads | External connection points to moved/renamed file | Update connection string in Data > Queries & Connections |
| Named range shows #REF! | Named range broken after conversion | Fix named range in Formulas > Name Manager |
| Aggregating workbook broken after batch convert | Source .xls files renamed to .xlsx | Run VBA to batch-update connection paths |
Pivot table issues are solvable. They're annoying, but they follow predictable patterns — and the fixes above cover almost every case you'll encounter after a format migration.
Practical fixes for legacy Excel and Access problems. No spam.