Excel:数据透视表过滤宏错误如果数据已被过滤

时间:2014-02-18 19:47:02

标签: excel vba excel-vba pivot

我有一个分配给按钮的宏,用于按底部10过滤数据,除了如果再次按下按钮时已经过滤数据,我会收到错误“应用程序定义或对象定义”错误”。

我该怎样防止这种情况?过滤器是数据透视表的一部分。我有相同的宏,但前10名

我正在使用的宏如下。

Sub TopTenByQty()

ActiveSheet.PivotTables("PivotTopBottom").PivotFields("Name"). _
    PivotFilters.Add Type:=xlBottomCount, DataField:=ActiveSheet.PivotTables( _
    "PivotTopBottom").PivotFields("Quantity"), Value1:=10

End Sub

1 个答案:

答案 0 :(得分:0)

我想我找到了一种方法来解决错误,方法是在过滤数据之前添加一条额外的行来重置过滤器,这样每当按下按钮时,它会重置并过滤数据。现在我可以使用top10按钮和buttom10按钮,可以毫无问题地运行它。这就是宏现在的样子。

Sub TopTenByQty()

ActiveSheet.PivotTables("PivotTopBottom").PivotFields("Name"). _
    ClearAllFilters

ActiveSheet.PivotTables("PivotTopBottom").PivotFields("Name"). _
PivotFilters.Add Type:=xlBottomCount, DataField:=ActiveSheet.PivotTables( _
"PivotTopBottom").PivotFields("Quantity"), Value1:=10

End Sub
相关问题