У меня есть сводная таблица с полем сводки, в которой содержится много элементов.
У меня есть логика кода VBA, чтобы решить, должно ли значение сводки быть видимым или нет.
Проблема в том, что Excel пересчитывает сводную таблицу для каждого показанного или скрытого поля, что делает его очень медленным.
Я хотел бы что-то, где он пересчитывает только один раз, после того, как все значения установлены.
Я пытался использовать Application.Calculation = xlCalculationManual, но это не помогло.
код VBA, который я использую, выглядит примерно так
For i = 1 To oPivotField.PivotItems.Count
If (oPivotField.PivotItems(i).Name = "TestCondition") Then
oPivotField.PivotItems(i).Visible = True 'Recalulates pivot table
Else
oPivotField.PivotItems(i).Visible = False 'Recalulates pivot table
End If
Next
Я должен сделать это вручную, сняв флажок «Показать все» и повторно отметив поля, которые я хочу видеть. Это приводит к тому, что Excel пересчитывает один раз и показывает только те элементы, которые я хочу видеть.
Я хотел бы сделать то же самое с помощью кода VBA.
Я даже пытался использовать
Application.ScreenUpdating = False
Application.DisplayAlerts = False
но не сработало.