You're a wonderful wonderful person thanks so much, works at long last.
full code,
Code:
With ShipmentTimelinessWeekPrevious.Sheets("Data").Select
Dim NewPTData As Range
Dim strMsg As String
Set NewPTData = Range(Range("A4"), Range("A4").End(xlDown))
    End With
    
With ActiveWorkbook.Worksheets("Shipment Timeliness Report").Select
strMsg = NewPTData.Resize(, NewPTData.Columns.Count + 10).Address(, , xlR1C1, True)

    ActiveSheet.PivotTables("PivotTable1").ChangePivotCache ActiveWorkbook. _
        PivotCaches.Create(SourceType:=xlDatabase, SourceData:=strMsg _
        , Version:=xlPivotTableVersion12)
End With