Изменить цвет осевых полос в сводной диаграмме Excel

У меня есть эта сводная диаграмма в Excel 2016

введите здесь описание изображения

Как видите, в поле оси есть два свойства: «Дата» и «Категория».

Есть два возможных значения для «Категории»: ASC и SBT.

Прямо сейчас столбцы, относящиеся к обоим значениям, имеют одинаковые цвета (красный и синий).

Я хочу, чтобы если «Категория» была SBT, цвета полос должны быть разными (например, желтыми и зелеными). Как я могу этого добиться?

Спасибо


person Ponzaro    schedule 07.10.2017    source источник


Ответы (1)


Попробуй это.

Sub test()
    Dim obj As ChartObject
    Dim cht As Chart
    Dim pnt As Point
    Dim Ws As Worksheet
    Dim s As String

    Set Ws = ActiveSheet
    Set obj = Ws.ChartObjects(1)
    Set cht = obj.Chart

    With cht
        .ApplyDataLabels
        For Each pnt In .SeriesCollection(1).Points
            With pnt.DataLabel
                .ShowCategoryName = True
                .ShowValue = False
            End With
            s = pnt.DataLabel.Text
            If InStr(s, "SBT") Then
               pnt.Format.Fill.ForeColor.RGB = RGB(255, 2255, 0)
            End If
             With pnt.DataLabel
                .ShowCategoryName = False
            End With
        Next pnt
        For Each pnt In .SeriesCollection(2).Points
            With pnt.DataLabel
                .ShowCategoryName = True
                .ShowValue = False
            End With
            s = pnt.DataLabel.Text
            If InStr(s, "SBT") Then
               pnt.Format.Fill.ForeColor.RGB = RGB(29, 219, 22)
            End If
             With pnt.DataLabel
                .ShowCategoryName = False
            End With
        Next pnt
    End With
End Sub
person Dy.Lee    schedule 08.10.2017
comment
Это может быть хорошо! Знаете ли вы, есть ли способ изменить легенду, чтобы добавить другой цвет в категорию? - person Ponzaro; 09.10.2017
comment
@Ponzaro, цвет легенды задается в соответствии с цветом серии. - person Dy.Lee; 10.10.2017
comment
поэтому, если вы хотите изменить цвет легенды, вы меняете цвет коллекции. .SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(255, 0, 0) - person Dy.Lee; 10.10.2017