VBA Select Case синтаксическая проблема для testexpression на другом листе

Попытка раскрасить точки гистограммы на основе значений, расположенных в таблице на другом листе. Множество условий, поэтому Select Case кажется хорошим вариантом. Установите следующий код, который предназначен для циклического прохождения каждой серии на диаграмме и каждой точки в данной серии, и я изо всех сил пытаюсь получить правильный синтаксис Select Case.

Sub ColorPoints()

Dim WS0 As Worksheet, WS1 As Worksheet
Dim LastRow As Long
Dim cht As Chart
Dim ser As Series

With ThisWorkbook
    Set WS0 = .Sheets("Stacking RR")
    Set WS1 = .Sheets("Stacking")
End With

With WS0
    LastRow = .Range("BW" & .Rows.Count).End(xlUp).Row
End With

WS1.ChartObjects("StackingPlan").Activate

Set cht = ActiveChart
Set ser = cht.SeriesCollection(1)

scount = cht.SeriesCollection.Count  'count number of series in chart
pcount = ser.Points.Count  'count number of points in series

keycolumn = Range("BW4").Column  'first column in table of values to run Select Case against

For s = 1 To scount
    cht.SeriesCollection(s).Select
        For p = 1 To pcount
            Select Case Worksheets("Stacking RR").Range(Cells(4 - 1 + p, keycolumn - 1 + p)).Value  'looking for the value in a range of cells that mirrors the active point in the series (value is a year)
                Case 2014
                    ser.Points(p).Interior.Color = RGB(0, 255, 255)
                Case 2015
                    ser.Points(p).Interior.Color = RGB(255, 255, 0)
                Case Else
            End Select
        Next
Next
End Sub

Могу поспорить, что ответ - очень простая настройка синтаксиса, но я довольно плохо знаком с VBA, поэтому не вижу его в справке Excel (F1) или в Обозревателе объектов (F2). Благодарен за любую помощь, которую вы можете оказать.

0 ответов

Другие вопросы по тегам