How to: Move a Pivot Table

  • 2 min 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

Dim worksheet As Worksheet = workbook.Worksheets("Report1")
workbook.Worksheets.ActiveWorksheet = worksheet
worksheet.Columns("A").WidthInCharacters = 40

' 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

Dim worksheet As Worksheet = workbook.Worksheets("Report1")

' Create a new worksheet.
Dim targetWorksheet As Worksheet = 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