Как я могу отфильтровать слайсер для одного элемента через VBA? - PullRequest
0 голосов
/ 14 января 2019

Мой слайсер содержит более 100 городов, и я хотел бы фильтровать слайсер через VBA по одному городу за раз (для того, чтобы вывести область диаграммы в Powerpoint). Проблема в том, что я думаю, что мне нужно было бы перечислить все остальные города и показать их как "Выбрано = Ложь" Мне нужен блок кода, в котором я указываю только город / города, а остальные параметры среза по умолчанию "Selected = False".

Я записал код макроса ниже и искал в сети решение этой проблемы, но пришел с пустыми руками.

 With ActiveWorkbook.SlicerCaches("Slicer_City")
        .SlicerItems("New York").Selected = True
        .SlicerItems("Chicago").Selected = False
        .SlicerItems("Trenton").Selected = False
        .SlicerItems("Atlanta").Selected = False
        .SlicerItems("Houston").Selected = False
        .SlicerItems("Los Angeles").Selected = False
'  there are 100 more cities to list if I just wanted "New York" to be selected 
       'in the slicer
End With

Мне нужен код, в котором я должен только указать выбор (Нью-Йорк) и не объявлять любой другой город как "Выбранный = Ложный".

1 Ответ

0 голосов
/ 14 января 2019

Самый быстрый способ - сделать интересное сводное поле полем страницы, а затем выполнить итерацию по элементам и установить для каждого свойства свойство .CurrentPage в PivotField по очереди, поскольку это автоматически превращает остальные элементы в ЛОЖЬ. Если вы не хотите, чтобы PivotField находился в области «Поля страницы», вы все равно можете сделать это быстро, настроив сводную таблицу «Master» где-то вне поля зрения, поместив поле интереса в мастере в виде PageField и подключив сводную таблицу Master. в PivotTable1 ('Slave') с помощью слайсера, а затем изменив свойство .CurrentPage мастера, которое затем мгновенно отфильтрует .Slave через слайсер.

См. Мой ответ по коду VBA для фильтрации сводной таблицы на основе значения в ячейке , в котором есть несколько советов по эффективности для такого рода вещей, а также ссылки на другие ответы, содержащие код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...