Как отфильтровать динамические значения горизонтальной оси по имени из диаграмм Excel? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть код VBA, который берет существующие гистограммы в Excel, фильтрует определенные значения горизонтальной оси (годы) и вставляет их в PowerPoint.Например, для каждой диаграммы под названием «Совокупный доход (услуги)» в нескольких рабочих книгах необходимо отображать только 2014, 2015 и 2018. В настоящее время это выполняется следующим образом:

If Chart.Chart.ChartTitle.Text = "Total Income (Services)" Then
    Chart.Chart.ChartGroups(1).FullCategoryCollection(1).IsFiltered = True  '2012
    Chart.Chart.ChartGroups(1).FullCategoryCollection(2).IsFiltered = True  '2013                   
    Chart.Chart.ChartGroups(1).FullCategoryCollection(5).IsFiltered = True  '2016
    Chart.Chart.ChartGroups(1).FullCategoryCollection(6).IsFiltered = True  '2017

Проблема заключается в том, что все диаграммы«Общий доход (услуги)» может включать разные даты и может меняться от месяца к месяцу в зависимости от исходных данных.Поэтому иногда нет «2012», поэтому фильтрация первого элемента фактически удаляет «2013», а остальная часть графика некорректна.

Как динамически перейти на VBA, который я хочу сохранить только [2014, 2015, 2017]?

Кроме того, я предполагаю, что могу определить, какие годы доступны для данной таблицы, и отфильтровать те, которые мне не нужны;например, если я знаю, что определенный источник данных содержит [2013, 2014, 2015, 2016, 2018], то я знаю, что мне нужно отфильтровать [2013, 2016, 2018], то есть FullCategoryCollections [1, 4, 5].Это единственный способ?Или есть способ фильтрации по имени оси?

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