2016-03-06 222 views
0

我是新来的VBA VBA代码...我试图创建一个单一的过滤器在数据透视表单过滤

根据交易类型,我想筛选出“付款”

下面是我的代码,但是当它到达pf.Current page =“付款”时出错。

Sub 

Dim pf As PivotField 

Set pf = ActiveSheet.PivotTables("GENERIC TRANSACTION DETAIL").PivotFields(_ 
"transaction type") 

pf.CurrentPage = "payment" 

End Sub 

谢谢你的任何反馈

+0

“交易类型”是页面字段吗? [CurrentPage属性](https://msdn.microsoft.com/en-us/library/office/ff197857.aspx)仅对页面字段有效。另外,Sub需要有一个名字 - 仅仅使用'Sub'就不会编译 – barrowc

回答

0

你通过Debosmit雷提到"transaction type"可能不是一个页字段。 您可以使用流动代码执行单个项目过滤器。

Sub SingleFilter() 
    Dim item As PivotItem 
    With ActiveSheet.PivotTables("GENERIC TRANSACTION DETAIL").PivotFields("transaction type") 
     .ClearAllFilters 
     For Each item In .PivotItems 
      If Not item.Name <> "payment" Then 
       item.Visible = False 
      End If 
     Next item 
    End With 
End Sub 
相关问题