How to: Move a Pivot Table
- 2 minutes to read
To move a PivotTable report, use the PivotTable.MoveTo method. You can place a pivot table in another location in the existing worksheet or move it to a new worksheet.
Note
If a cell range where you wish to place your report is a regular range containing data, it will be overwritten without warning. But if the destination cell range contains a pivot table or table, the System.InvalidOperationException will be thrown since the pivot table cannot overlap another table or a PivotTable report.
Move a Pivot Table to Another Location in the Existing Worksheet
Worksheet worksheet = workbook.Worksheets["Report1"];
workbook.Worksheets.ActiveWorksheet = worksheet;
// Change the pivot table location.
worksheet.PivotTables["PivotTable1"].MoveTo(worksheet["A7"]);
// Refresh the pivot table.
worksheet.PivotTables["PivotTable1"].Cache.Refresh();
Move a Pivot Table to a New Worksheet
Worksheet worksheet = workbook.Worksheets["Report1"];
// Create a new worksheet.
Worksheet targetWorksheet = workbook.Worksheets.Add();
// Access the pivot table by its name in the collection
// and move it to the new worksheet.
worksheet.PivotTables["PivotTable1"].MoveTo(targetWorksheet["B2"]);
// Refresh the pivot table.
targetWorksheet.PivotTables["PivotTable1"].Cache.Refresh();
workbook.Worksheets.ActiveWorksheet = targetWorksheet;