Con esta macro podrás limpiar la memoria cache de tus tablas dinámicas, y así poder actualizar sin datos antiguos
Código de la macro
Sub LimpiarCacheTablaDinamica()
Dim pvtTable As PivotTable
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count
For Each pvtTable In Worksheets(i).PivotTables
pvtTable.PivotCache.MissingItemsLimit = xlMissingItemsNone
pvtTable.PivotCache.Refresh
Next pvtTable
Next i
End Sub
Como copiar y pegar el código
Como insertar una macro en la cinta de opciones personalizada