фильтр сводной таблицы с использованием списка на отдельном листе

#excel #vba #filter #pivot-table

#excel #vba #Фильтр #сводная таблица

Вопрос:

У меня есть сводная таблица, настроенная именно так, как она должна быть, однако столбец ID довольно обширный, поэтому я ищу макрос, который легко фильтрует только те идентификаторы, которые я хочу для сводной таблицы. Что я хотел бы сделать, так это иметь возможность запускать макрос, который просматривает все идентификаторы, которые у меня есть на листе 2, и переходит к моей сводной таблице на листе 1 и показывает только эти идентификаторы.

Я действительно искал, чтобы узнать, какие другие подобные темы упоминались. Но либо эти вопросы и решения не относились к тому, что я пытаюсь сделать, либо они настолько у меня над головой, что я даже не понимал, что происходит в коде. Моей первоначальной мыслью было записать макрос, в котором я бы выбрал несколько идентификаторов, чтобы посмотреть, как выглядит код, а затем изменил идентификаторы в макросе на ячейки на листе 2, где находятся мои идентификаторы; это не сработало для меня, поэтому я не уверен, была ли это хорошая идея и плохое исполнениеили, если я просто далеко от базы прямо сейчас. Но вот код, который у меня есть до сих пор:

 Sub report_filter_macro()
'
' report_filter_macro Macro
' filter only the IDs desired

    ActiveSheet.PivotTables("my_pivot").PivotFields("IDs").CurrentPage = _
        "(All)"
    With ActiveSheet.PivotTables("my_pivot").PivotFields("IDs")
        .PivotItems("000022").Visible = False ' does not show ID 000022 in the pivot table
        .PivotItems("000011").Visible = False ' does not show ID 000011 in the pivot table
    End With
    ActiveSheet.PivotTables("my_pivot").PivotFields("IDs"). _
        EnableMultiplePageItems = True ' allows multiple filters
End Sub
  

Спасибо за любую помощь в этом.

Комментарии:

1. Вот мой пост , в котором объясняется, как использовать вспомогательные столбцы в ваших данных, по которым вы затем можете фильтровать сводную таблицу. Не требуется VBA. И вот альтернатива VBA от Джеффа Вейра.