Используйте VBA, чтобы выбрать последнее значение, чтобы обозначить общее количество в диаграмме водопада в Excel - PullRequest
0 голосов
/ 30 апреля 2018

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

Я хотел бы использовать VBA для создания макроса, который будет выполнять две вещи:

1) Очистить все предыдущие промежуточные итоги в диаграмме водопада

2) Определите последнюю точку данных и сделайте ее промежуточной суммой на графике.

Записав макрос, я смог создать следующий код:

Sub LastDataPointSubtotal()
    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.FullSeriesCollection(1).Select
    ActiveChart.FullSeriesCollection(1).Points(5).Select
    ActiveChart.FullSeriesCollection(1).Points(5).IsTotal = True
End Sub

Я считаю, что этот сценарий - хорошее начало, но он не работает, если последняя точка данных находится в серии, содержащей более / менее 5 точек данных. Также необходим способ выбрать все значения, кроме последнего, чтобы убедиться, что IsTotal = False.

Спасибо

1 Ответ

0 голосов
/ 01 мая 2018

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

Sub WaterfallAdjust()
    Sheets("BIDash").Select
    ActiveSheet.ChartObjects("Chart 1").Activate

Dim pt As Long
With ActiveChart.SeriesCollection(1)
     For pt = 1 To .Points.Count
          ActiveChart.FullSeriesCollection(1).Points(pt).IsTotal = False
     Next
End With
With ActiveChart.SeriesCollection(1)
     For pt = .Points.Count To .Points.Count
          ActiveChart.FullSeriesCollection(1).Points(pt).IsTotal = True
     Next
End With

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