Можно ли отфильтровать сводные элементы сводной таблицы с помощью выбора (ов) из списка в пользовательской форме? - PullRequest
0 голосов
/ 27 мая 2019

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

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

Private Sub lbxProduct_Change()

    Dim PvtTbl As PivotTable
    Dim pvtItm As PivotItem
    Set PvtTbl = PvtPage.PivotTables("pvtYoYChart1")

'   I need the pivottable to change whenever a selection is made in the listbox
'   right now, nothing happens when i make a selection
    For Each pvtItm In PvtTbl.PivotFields("Product Group").PivotItems
        If pvtItm <> Me.lbxProduct.Value Then pvtItm.Visible = False
    Next pvtItm

End Sub

Я ожидаю, что пользователь щелкнет элемент в списке и моя сводная таблица обновится мгновенно.Большое спасибо за любой совет, который вы, ребята, можете дать !!

1 Ответ

0 голосов
/ 27 мая 2019

РЕДАКТИРОВАТЬ: это кажется более надежным

Dim showMe, pvtItm

showMe = Me.lbxProduct.Value

With ActiveSheet.PivotTables(1).PivotFields("Product Group")
    .PivotItems(showMe).Visible = True '<< first unhide the one we want

    'then hide any others
    For Each pvtItm In .PivotItems
        pvtItm.Visible = (pvtItm.Caption = showMe)
    Next pvtItm
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...