Option Explicit
Sub test()
Dim pvc As PivotCache
Dim pvt As PivotTable
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Worksheets("DATA")
Set ws2 = Worksheets("Sheet2")
Set pvc = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=ws1.Range("A1").CurrentRegion)
Set pvt = pvc.CreatePivotTable(TableDestination:=ws2.Range("A20"))
With pvt
.AddDataField Field:=.PivotFields(ws1.Cells(1, 4).Value), _
Caption:="Average" & ws1.Cells(1, 4).Value, _
Function:=xlAverage
End With
End Sub