I want to programmatically refresh all the Pivot Tables in a given Worksheet of my Excel Workbook. After searching here on StackOverflow, I found this question where the answer suggests using either
ThisWorkbook.RefreshAll
or something like
Dim pivot As PivotTable
For Each pivot In Worksheets("MySheet").PivotTables
pivot.RefreshTable
pivot.Update
Next
As I only want to refresh the tables in a given sheet, the first method was not what I was looking for. Hence, I modified the second method to satisfy my needs.
The question I have here is what's the difference between the RefreshTable
and the Update
methods of the PivotTable
object? I guess if we are using both of them, it means they are different in some way.
In what situation can we use only one of them in order to save time, as it seems that refreshing and updating take a considerable amount of time when the pivot table has a lot of data?