'First Pivot
    Dim PrevSheet As Worksheet
    Dim rng As Range
    Set PrevSheet = ActiveSheet
    
    Set rng = Range("A1").CurrentRegion
    Sheets.Add.Name = "newsheet"
    
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rng).CreatePivotTable _
                                      TableDestination:="newsheet!R3C1", TableName:="PivotTable3"
for the pivot itself
i suggest you set a rng for the sourcedata to ensure you capture the right region

also dont know how your data is setup but every column (in rng) must have a header