Я прокомментирую ваш код для вас, если это помогает:
'Select the sheet named "5. Resume"
Sheets("5. Resume").Select
'Select the pivot table named "PivotTable1" on the active sheet ("5. Resume")
ActiveSheet.PivotTables("PivotTable1").PivotSelect "'Tarea IS'[All]", _
xlLabelOnly, True
'Refresh the data in "PivotTable1" on the selected sheet ("5. Resume") from the source
ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
'Select the pivot table named "PivotTable2" on the active sheet ("5. Resume")
ActiveSheet.PivotTables("PivotTable2").PivotSelect "'Tarea IS'[All]", _
xlLabelOnly, True
'Refresh the data in "PivotTable1" on the selected sheet ("5. Resume") from the source
ActiveSheet.PivotTables("PivotTable2").PivotCache.Refresh
'Select the sheet named "6. Reg Err"
Sheets("6. Reg Err").Select
'Refresh the data in "PivotTable3" on the selected sheet ("6. Reg Err") from the source
ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh
Линии, где вы выбираете сводную таблицу, кажется, не имеет значения, как вы меняете выбор вскоре после того, как ничего не делая на выбранный элемент (я предполагаю, что это записано). Вы можете удалить строки с .PivotSelect
, и это не изменит результат.
ActiveSheet.PivotTables("PivotTable1").PivotSelect "'Tarea IS'[All]", _
xlLabelOnly, True
В самом деле, следующий код позволяет достичь того же в гораздо более короткие моды:
With Sheets("5. Resume")
.PivotTables("PivotTable1").PivotCache.Refresh
.PivotTables("PivotTable2").PivotCache.Refresh
End With
Sheets("6. Reg Err").PivotTables("PivotTable3").PivotCache.Refresh
поиск Простой Google 'сводным таблицам Excel vba' даст вам много результатов. Эта [ссылка] (http://www.thespreadsheetguru.com/blog/2014/9/27/vba-guide-excel-pivot-tables) даст вам удар. – ManishChristian
Это освежающий результат сводной таблицы. –
«Обновить» таблицы сводных таблиц, Pivottable1 и Pivottable2 –