Joe uses PivotTables a lot at his company. In creating the PivotTables they would use one workbook for the PivotTables that were generated based on source data in a second workbook. In working with the PivotTables they needed a way to quickly “re-point” their pivot cache to a different data source. Unfortunately they found that re-pointing one PivotTable to a different source workbook only created a second pivot cache, thereby causing a much larger PivotTable workbook and a slower response time in Excel. They needed to actually re-point each PivotTable to the new data source before the old pivot cache would disappear, and some of the workbooks had over 50 PivotTables!
They found a solution, however, that allowed them to very easily make the switchover to the new data source. Assume, for the sake of this tip, that File1 is the workbook containing the PivotTables, File2 is the current data source workbook, and File3 is the new data source workbook. Further, all the PivotTables in File1 share the same pivot cache which, in turn, points to the data in File2. These are the steps they took to switch everything over so File1 finally pointed to File3:
- Rename the File3 to something else, such as File3Real.
- Open File1 in Excel.
- Open File2 in Excel.
- With File2 displayed, press F12. Excel displays the Save As dialog box.
- Save the file using the File3 name. Since File1 is also open, Excel automatically repoints the pivot cache (and hence all the PivotTables in File1) to File3.
- Close File3.
- Save and Close File1.
- Outside of Excel, delete the File3 workbook created in step 5.
- Rename the File3Real workbook with the name File3.
That’s all there is to it; File3 is now the new data source for the PivotTables in File1. As well, any fields that do not exist in File3 will also be removed from the PivotTable reports when you next open File1.