Я использую MS Excel 2010.

У меня есть лист, который выглядит так

---/ 1001 / 1002 / 1003 / 1101 / 1102 / 1201 / 1202 / 1203 / 1204
R2 / ... 
R3 / ...
...

Я хотел бы создать линейную диаграмму с каждым столбцом серии, но окрашенного таким образом, чтобы все серии с одинаковыми первыми двумя цифрами были одного цвета, но разных оттенков (так что 10 ** будут все красным (скажем), но все более светлыми оттенками красного ).

Какие-либо предложения? Спасибо за любую помощь.

1 ответ1

1

Вы можете использовать что-то вроде этого:

Sub ColorLines()

  Dim objSeries As series

  Dim strLastDigits As String

  Dim lngColorIndex As Long

  lngColorIndex = 2
  strLastDigits = ""

  For Each objSeries In Diagramm1.SeriesCollection

    If Left(objSeries.Name, 2) <> strLastDigits Then
      'set new color
      lngColorIndex = lngColorIndex + 1
      objSeries.Border.ColorIndex = lngColorIndex
    Else
      'set shade of current color
      If objSeries.Border.Color > 50 Then
        objSeries.Border.Color = objSeries.Border.Color - 50
      End If
    End If

    strLastDigits = Left(objSeries.Name, 2)
  Next objSeries

End Sub

НО - конкретный алгоритм для автоматизации затенения и раскраски зависит от вас;)

Это всего лишь пример того, как вы могли бы сделать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .