Option Explicit
Sub addCache()
ThisWorkbook.PivotCaches.Add _
(SourceType:=xlDatabase, _
SourceData:=Range("A1").CurrentRegion).CreatePivotTable _
TableDestination:="R4C" & Range("A1").CurrentRegion.Columns.Count + 3
With ActiveSheet.PivotTables(1)
'First row field
With .PivotFields("Name")
.Orientation = xlRowField
.Position = 1
End With
'Report Filter field
With .PivotFields("Location")
.Orientation = xlPageField
.Position = 1
.CurrentPage = "New York"
End With
'Order Amount or numerical data in the Values field
.AddDataField ActiveSheet.PivotTables(1).PivotFields("Order Amount"), _
"Sum of Amount", xlSum
End With
End Sub