Sub CopyPivot() Dim pvt As PivotTable Dim rng As Range For Each pvt In ActiveSheet.PivotTables With pvt .ColumnGrand = True .RowGrand = True End With Set rng = pvt.DataBodyRange rng.Cells(rng.Rows.Count, rng.Columns.Count).ShowDetail = True Selection.Copy Worksheets("Sheet3").Range("A1") Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True Next pvt End Sub