Создание диаграммы в VBA с 2 различными типами - PullRequest
1 голос
/ 16 августа 2011

Вероятно, это основной вопрос, но мне было трудно найти хорошее решение для моей проблемы.

Я пытаюсь создать диаграмму программно в VBA. Диаграмма должна иметь 3 серии, причем 2 серии - это xlColumnStacked, а 1 серия - это xlColumnClustered. Идея состоит в том, чтобы 1 серия имела тип xlColumnClustered, в то время как две другие являются сложенными. Это приведет к параллельному сравнению двух столбцов.

Возможно ли это?

Я попытался изменить каждый тип серии, однако в результате весь тип диаграммы изменится в зависимости от последней серии, которая была изменена. (например, -> Последняя добавленная серия - xlStacked, все три серии сложены)

Я использую Excel 2007 и встроенный редактор макросов VBA.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2017

Благодаря вкладчикам Stackoverflow.Я нашел разные части (ответы) и соединил их.У меня было 2 серии, и я попытался поставить им один и тот же график с другим типом.

    Set Chrt = ws.Shapes.AddChart.Chart
    Set s1 = Chrt.SeriesCollection.NewSeries
    Set s2 = Chrt.SeriesCollection.NewSeries
    With Chrt
        .'this part chart part'
    End With
    With s1
        .ChartType = xlColumnClustered
        .Values = ActiveSheet.Range("c3:c24")
        .XValues = ActiveSheet.Range("b3:b24")
        .HasDataLabels = True
        .AxisGroup = xlPrimary
    End With
    With s2
        .ChartType = xlLineStacked
        .AxisGroup = xlSecondary
        .Values = ActiveSheet.Range("d3:d24")
        .XValues = ActiveSheet.Range("b3:b24")
        .HasDataLabels = True
    End With

Это мое решение, и оно сработало.PS Я использую Excel 2007

0 голосов
/ 16 августа 2011

Можете ли вы сделать это вручную через интерфейс? Логично ли то, что вы делаете в коде, как в пользовательском интерфейсе? Используя пользовательский интерфейс, вам нужно выбрать конкретную серию, тип которой вы хотите изменить. Вы делаете это в коде, а не устанавливаете тип всей диаграммы?

Для всего, что связано с диаграммами Excel, я бы порекомендовал сайт Джона Пельтье

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