我有一个带有枢轴字段的数据透视表,包含许多项目.我有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
Run Code Online (Sandbox Code Playgroud)
我要手动取消选中"全部显示"框并重新检查我想要的字段.这会导致Excel重新计算一次并仅显示我想要的透视项目.我想通过VBA代码做同样的事情.
我甚至尝试过使用
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Run Code Online (Sandbox Code Playgroud)
但没有奏效.