2014-02-18 4 views
0

У меня есть макрос, назначенный кнопке, которая предназначена для фильтрации данных снизу 10, и это работает, за исключением того, что если данные уже отфильтровываются, когда кнопка снова нажата, I получить сообщение об ошибке «Определенная пользователем или объектная ошибка».Excel: макрос фильтра таблицы сводных таблиц, если данные уже отфильтрованы

Как я могу предотвратить это? Фильтр является частью сводной таблицы. У меня такой же макрос, но для верхнего 10

Макрос, который я использую, следующий.

Sub TopTenByQty() 

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

End Sub 

ответ

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 
Смежные вопросы