Acelere o código VBA da filtragem de tabela dinâmica
Tenho uma tabela dinâmica com um campo dinâmico e contém muitos itens. Eu tenho lógica de código VBA para decidir se o valor do pivô deve ser visível ou não. O problema é que o Excel recalcula a tabela dinâmica para cada campo mostrado ou oculto, o que a torna muito lenta. Eu gostaria de algo em que recalcula apenas uma vez, depois que todos os valores estiverem definidos. Tentei usar Application.Calculation = xlCalculationManual, mas não ajudou.
ódigo @vba que eu estou usando é algo como isto
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
Eu devo fazer isso manualmente desmarcando a caixa "mostrar tudo" e verifique novamente os campos que eu quero que sejam visíveis. Isso faz com que o Excel recalcule uma vez e mostre apenas os itens dinâmicos que eu quero visíveis. Gostaria de fazer a mesma coisa via código VBA.
Eu tentei usar
Application.ScreenUpdating = False
Application.DisplayAlerts = False
mas não funciono