У меня есть этот код, который обновляет данные сводной таблицы.
Dim wsPT as Worksheet
Dim pt as PivotTable
Set wsPT = Thisworkbook.Sheets("Pivot")
With wsPT
For Each pt in .PivotTables
pt.RefreshTable
Next pt
End With
Он работает нормально, но немного медленно.
У меня 10 PT в WS.
Как я могу улучшить скорость обновления?
Любая помощь приветствуется.
1 ответ
Вот один лайнер
ActiveWorkbook.RefreshAll
В качестве альтернативы, если вам нужно решение без VBA, тогда в Data Ribbon
нажмите Refresh All
или нажмите сочетание клавиш CTRL + ALT + F5
Снимок экрана:
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].
Application.Wait
.Application.Screenupdating = False
перед обновлением, а затем снова установитеTrue
For Loop
. Даже еслиApplication.Screenpudating
не установлен наFalse
. Но это значительно улучшится, если вы отключите и включитеApplication.Screenupdating
во время и после событий. Спасибо.