Моя книга состоит из двух листов: Sheet1 является основной информационной панелью, которую видит пользователь, в то время как Sheet2 состоит из сводной таблицы и обычной таблицы.Таблица фильтров на основе щелкнутого текста ячейки
Я хотел бы реализовать некоторый код VBA, чтобы пользователь мог нажать на какой-либо текст в Листе 1, а сводная таблица на Sheet2 будет фильтроваться в соответствии с тем, на какой текст щелкнул пользователь.
Так, например, колонка A на Sheet1 представляет собой список городов США. Я хотел бы, чтобы пользователь мог дважды щелкнуть по названию города в Sheet1 и иметь сводную таблицу на фильтре Sheet2, независимо от названия города.
Мне не нужен макрос, чтобы на самом деле привести пользователя к Sheet2. Все, что я планирую сделать, это просто ссылка на сводную таблицу на Sheet1.
Я разработал нечто подобное, используя стандартную таблицу, но мне действительно нужно, чтобы это работало на сводной таблице, и я не уверен, как это сделать.
UPDATE
Ok так вот мой код прямо сейчас:
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E:P")) Is Nothing Then
Application.ScreenUpdating = False
Worksheets("Dillon Pivot").PivotTables("PivotTable2").ManualUpdate = True
Worksheets("Dillon Pivot").PivotTables("PivotTable2").PivotFields("Match").ClearAllFilters
Worksheets("Dillon Pivot").PivotTables("PivotTable2").PivotFields("Match").CurrentPage = ActiveCell.Value
Worksheets("Dillon Pivot").PivotTables("PivotTable2").ManualUpdate = False
Application.ScreenUpdating = True
End If
End Sub
Я хочу, чтобы пользователь мог щелкнуть ячейку на главной панели управления и иметь сводную таблицу на «Dillon Pivot» будет отфильтровано.
Однако, когда я дважды щелкните ячейку, я получаю следующее сообщение об ошибке: «приложения или объекта определяется ошибка»
Может кто-нибудь помочь?
Взгляните на следующее - он описывает, как заменить фильтр: http://stackoverflow.com/questions/11071662/filter-excel-pivot-table-using- vba Тогда вам просто нужен код для обработки вашего двойного щелчка, который можно найти здесь: http://www.excel-easy.com/vba/examples/beforedoubleclick-event.html Нужна дополнительная помощь, пусть мы знаем. –
Хорошо, я добавил обновление! – Darren
Почему бы не использовать [Slicers] (https://support.office.com/en-us/article/Use-slicers-to-filter-PivotTable-data-249f966b-a9d5-4b0f-b31a-12651785d29d)? – Parfait