Изменить фильтр страниц в сводных таблицах

Я могу прибегнуть к использованию нескольких сводных таблиц, если не могу этого сделать, но я все равно хочу попробовать.

По сути, у меня есть лист с довольно большим количеством строк (45 тыс. +), и я хочу использовать сводную таблицу для группировки элементов, чтобы я мог получать уникальные только для того, чтобы затем сопоставлять их в базе данных Access и добавлять только новые элементы. Я должен сделать это для нескольких столбцов, поэтому я подумал, что фильтрация таблицы с помощью VBA может быть хорошим решением, хотя мне это не удалось. Из MSDN я понимаю, что можно добавить фильтры с помощью PivotFields.Add, хотя получаю ошибку "Аргумент или неверный вызов процедуры" (или что-то в этом роде). Вот что я пробовал:

Me.PivotTables("tcd_transits").PivotFields("NOTE").ClearAllFilters
Me.PivotTables("tcd_transits").PivotFields("NOTE").PivotFilters.Add _
                xlValueEquals, "NOTE", "RUBRIQUES"

Первая строка эффективно очищает фильтры, но вторая не добавляет фильтр в «ПРИМЕЧАНИЕ» для «РУБРИКОВ» и выдает ошибку, о которой я упоминал выше. Я совсем сбился с пути или я пропустил какую-то деталь?


person ApplePie    schedule 10.08.2012    source источник


Ответы (1)


Нашел здесь:

http://excel.bigresource.com/Track/excel-0anuDfeJ/

Решение состоит в том, чтобы использовать PivotFields.CurrentPage

    Me.PivotTables("tcd_transits").PivotFields("NOTE").CurrentPage = "TRANSITS"
person ApplePie    schedule 10.08.2012
comment
Обычно я взламываю это, используя VBA, чтобы изменить значение ячейки, в которой находится фильтр. - person whytheq; 12.08.2012