我有一个带有数据透视字段的数据透视表并包含许多项目。我有 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
但没有用。