Цветовая кодировка с накоплением гистограммы с помощью клавиш - PullRequest
0 голосов
/ 28 ноября 2018

Мы хотим создать гистограмму с накоплением, используя клавиши для форматирования цвета каждого поля.

enter image description here

Слева у нас есть ключи, а справа - длина каждого сегмента бара.Вот то, что мы имеем сейчас.

enter image description here

Проблема в том, что в Excel нет цветового кодирования диаграммы с использованием назначенных ей клавиш.Вместо этого это просто цветовое кодирование их по строке.

Например:
Нам нужно раскрасить весь административный код в красный, введение в желтый и так далее.Но в текущей ситуации Excel отмечает первый ряд синим цветом, второй - желтым и т. Д.

1 Ответ

0 голосов
/ 28 ноября 2018

Пример:

Sub ColorByCategory()

    Dim cht As Chart, s As Long, p As Long, cat

    Set cht = ActiveSheet.ChartObjects(1).Chart 'for example

    'here a series corresponds to a row of data...
    For s = 1 To cht.SeriesCollection.Count
        With cht.SeriesCollection(s)
            '...and points are grouped by data column
            For p = 1 To .Points.Count
                'find the category from the series and point numbers
                cat = Range("c4").Offset(s, (p - 1) * 2).Value
                .Points(p).Format.Fill.ForeColor.RGB = CatToColor(cat)
            Next p
        End With
    Next s

End Sub

'Map a category to a fill color using a lookup range
Function CatToColor(cat) As Long
    CatToColor = Sheet1.Range("A1:A5").Find(cat).Interior.Color
End Function

enter image description here

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