Ускорьте фильтрацию сводных таблиц кода VBA

У меня есть сводная таблица с полем сводки и содержит много элементов. У меня есть логика кода 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

но не сработало.

Ответы на вопрос(5)

Ваш ответ на вопрос