我正在尝试在数据透视表上选择一个过滤器,但我不知道为什么它不能正确读取我的代码。
说“无法获取PivotField类的PivotItems属性”
Sub Filter_MasterCode()
Dim pt As PivotTable
Dim pf As PivotField
Dim sField As String
Set pt = ActiveSheet.PivotTables("PivotTable3")
sField = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
For Each pf In pt.PageFields
If pf.Name <> "Values" Then
pf.Orientation = xlHidden
End If
Next pf
For Each pf In pt.DataFields
If pf.Name <> "Values" Then
pf.Orientation = xlHidden
End If
Next pf
pt.PivotFields(sField).Orientation = xlPageField
With ActiveSheet.PivotTables("PivotTable3").PivotFields(sField)
.PivotItems("0").Visible = False
.PivotItems("1").Visible = True
End With
Select Case sField
Case Is = "Apple"
With ActiveSheet.PivotTables("PivotTable3").PivotFields("2017")
.Orientation = xlDataField
End With
End Select
在.PivotItems("0").Visible = False
上显示错误
谢谢
答案 0 :(得分:1)
在我看来,就像您正在尝试获取馆藏中的第一个PivotItem。
PivotItem
对象的索引始于1
。您正在尝试访问0
索引。更改它,看看是否可行。
With ActiveSheet.PivotTables("PivotTable3").PivotFields(sField)
.PivotItems(1).Visible = False
.PivotItems(2).Visible = True
End With