我有一个数据透视表,我正在尝试根据数组中的值选择某些数据透视项。我需要这个过程更快,所以我尝试使用Application.Calculation = xlCalculationManual
and PivotTables.ManualUpdate = True
,但似乎都没有工作;每次更改数据透视表时,数据透视表仍会重新计算。
有什么我可以做的不同的事情来防止 Excel 每次都重新计算吗?或者有没有办法一次(而不是单独)取消选择所有项目以使过程更快?
这是我的代码:
Application.Calculation = xlCalculationManual
'code to fill array with list of companies goes here
Dim PT As Excel.PivotTable
Set PT = Sheets("LE Pivot Table").PivotTables("PivotTable1")
Sheets("LE Pivot Table").PivotTables("PivotTable1").ManualUpdate = True
Dim pivItem As PivotItem
'compare pivot items to array.
'If pivot item matches an element of the array, make it visible=true,
'otherwise, make it visible=false
For Each pivItem In PT.PivotFields("company").PivotItems
pivItem.Visible = False 'initially make item unchecked
For Each company In ArrayOfCompanies()
If pivItem.Value = company Then
pivItem.Visible = True
End If
Next company
Next pivItem