【发布时间】:2014-07-10 23:49:22
【问题描述】:
由于上面如此著名的错误,我无法使我的代码正常工作。看了以前的帖子找不到解决办法,希望大家能帮帮我。
我在不同的工作表 (ws) 中有几个数据透视表 (pt),并且在我创建的数组中存储了一个项目列表。 我编写了一个宏,用于将 pt 中的所有项目设置为 ON,但数组中的项目除外(代码中的 listOffnet)。一切正常。
现在,我想做一个补充动作:关闭所有不在数组中的项目。 不幸的是,我在行收到错误
pvtItm.Visible = False
非常感谢! 这是我的代码:
Sub ptFilterOffnet()
Dim PvtTbl As PivotTable
Dim pvtItm As PivotItem
Dim pvtFld As String
Dim listItem As Variant
Dim listOffnet As Variant
Dim lastRow As Integer
Dim myws As String
pvtFld = "CATEGORY_DESCRIPTION"
myws = "GESTIONE_ADMIN"
resetSlicers 'function resetting all slicers connected to pivot tables (all items ON)
' Populate the array with some data in a specific range
lastRow = Sheets(myws).Cells(Rows.Count, 10).End(xlUp).Row
listOffnet = populateArray(myws, 3, lastRow, 10, 10)
' All OFF but items within listOffnet
For Each PvtTbl In Sheets("P1").PivotTables
For Each pvtItm In PvtTbl.PivotFields(pvtFld).PivotItems
For Each listItem In listOffnet
If pvtItm <> listItem Then
pvtItm.Visible = False
End If
Next
Next
Next
End Sub
【问题讨论】: