If you want to create a Pivot Table based on Pivot Cache of an existing Pivot Table, try something like this...
Dim ws As Worksheet, wsPivot As Worksheet, wsNewPivot As Worksheet
Dim pvtCache As PivotCache
Dim PT As PivotTable, newPT As PivotTable
Set wsPivot = Sheets("Pivot Sheet") 'Sheet which contains the existing Pivot Table
Set PT = wsPivot.PivotTables(1)
Set pvtCache = PT.PivotCache
Set wsNewPivot = Sheets.Add(after:=Sheets(Sheets.Count))
Set newPT = pvtCache.CreatePivotTable(wsNewPivot.Range("A3"))
Bookmarks