Tengo una tabla dinámica con un campo de pivote y contiene muchos elementos. Tengo lógica de código VBA para decidir si el valor de pivote debe ser visible o no. El problema es que Excel recalcula la tabla dinámica para cada campo mostrado u oculto, lo que lo hace muy lento. Me gustaría algo donde se vuelva a calcular solo una vez, después de establecer todos los valores. Intenté usar Application.Calculation = xlCalculationManual pero no me ayudó.Speeding tabla dinámica que filtra código VBA
código VBA que estoy usando es algo como esto
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
he de hacerlo manualmente Desactive la casilla "mostrar todo" caja y volver a comprobar si los campos que quiero visible. Esto hace que Excel recalcule una vez y muestre solo los elementos dinámicos que quiero que sean visibles. Me gustaría hacer lo mismo a través del código VBA.
Incluso he intentado utilizar
Application.ScreenUpdating = False
Application.DisplayAlerts = False
pero no funcionó.
Lo intenté pero no funcionó. – Ankit