Try this: Sub UpdatePivotTable() Dim dataRange As Range ''''set your data area in this next line Set dataRange = Sheets("Data").Cells(1, 1).CurrentRegion With Sheets("Pivot Report") ' where pivot table resides .Activate ''''select a range within the pivot table (otherwise a new pivot table is created) .PivotTables(1).DataBodyRange.Select ''''set the new data source .PivotTableWizard SourceType:=xlDatabase, SourceData:= _ dataRange End With End Sub