Циклическое прохождение серий в VBA и раскраска в соответствии с критериями ячеек

#excel #vba

Вопрос:

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

 Dim cht As Chart  Set cht = ActiveSheet.ChartObjects("Chart 1").Chart   'loop through series in chart to format lines   Dim ser As Series  Dim i As Integer  Dim rcode As Integer  Dim gcode As Integer  Dim bcode As Integer      i = 1  For Each ser In cht.SeriesCollection  MsgBox "color" amp; i    rcode = 255  gcode = 255  bcode = 150     Format.Line  .Visible = msoTrue  .ForeColor.ObjectThemeColor = RGB(rcode, gcode, bcode)  .ForeColor.TintAndShade = 0  .ForeColor.Brightness = 0  .Transparency = 0  End With  i = i   1  Next ser  

Теперь я пытаюсь добавить часть, в которой она меняет цвет для каждой серии. Я пытался написать это несколькими способами, но продолжаю получать ошибки несоответствия объектов. На листе, на котором изображена эта диаграмма, названия серий находятся в столбце K, справа от них находится идентификатор, на основе которого я хочу использовать цветовой код. Например, серия 15 называется «15», а рядом с 15 в столбце K стоит буква A. Это A указывает на то, что я хочу, чтобы она была нанесена синим цветом. Я понимаю, что как только я назначу переменную этому идентификатору, простое утверждение if приведет меня к правильному цвету. Любая помощь будет признательна!

Комментарии:

1. Я добавил эту часть кода, также я меняю цветовой индекс на rgb, но мне нужно просмотреть код rgb для каждой серии на другой вкладке в Excel.

2. Попробуйте With ser.Format.Line вместо Format.Line