我有一个分配给按钮的宏,用于按底部10过滤数据,除了如果再次按下按钮时已经过滤数据,我会收到错误“应用程序定义或对象定义”错误”。
我该怎样防止这种情况?过滤器是数据透视表的一部分。我有相同的宏,但前10名
我正在使用的宏如下。
Sub TopTenByQty()
ActiveSheet.PivotTables("PivotTopBottom").PivotFields("Name"). _
PivotFilters.Add Type:=xlBottomCount, DataField:=ActiveSheet.PivotTables( _
"PivotTopBottom").PivotFields("Quantity"), Value1:=10
End Sub
答案 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