【发布时间】:2010-10-20 08:29:38
【问题描述】:
我有一个带有数据透视字段的数据透视表,其中包含许多项目。 我有 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
但没用。
【问题讨论】:
标签: vba excel pivot-table