【发布时间】:2021-07-16 07:00:05
【问题描述】:
我有一个 Excel 文件,在按名称过滤时创建了 Pivot 和两个过滤器(主要供应商名称和日期)
我想过滤每个主要供应商名称,一次只应选择过滤器中的一个值,其他应取消选择 我试过这个代码。
Dim ws As Worksheet
Set ws = Worksheets("3rd Pivot")
Dim pt As PivotTable
Set pt = ws.PivotTables("secondpivot_table")
Dim pF As PivotField
Set pF = pt.PivotFields("Principal Vendor Name")
pF.EnableMultiplePageItems = True
pF.CurrentPage = "(All)"
For i = 1 To pF.PivotItems.Count
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pt.PivotCache.Refresh
k = i
For j = 1 To pF.PivotItems.Count
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
pt.PivotCache.Refresh
If i = j Then
pF.PivotItems(k).Visible = True
Else
pF.PivotItems(j).Visible = False
End If
Next j
但它在这一行显示错误 pF.PivotItems(j).Visible = False "无法设置 pivotItem 类的 Visiility 属性"
【问题讨论】:
-
当它失败时,还有多少项未隐藏?
-
只选择第一个,然后显示错误,然后我输入“On Error Resume Next”,然后它从过滤器中选择两个值(当前和上一个)
-
如果项目是最后一个可见项目,则无法隐藏它...我不清楚您的代码在做什么,或者为什么在循环中调用 Refresh?
-
那么我该如何更改代码?你能帮我吗
-
隐藏项目的依据是什么?