Приведенный ниже макрос изменяет цвет точки на моей диаграмме слева от раскрывающегося списка (активная ячейка). Это работает для приведенной ниже «Диаграммы 5», но есть ли способ сделать ее динамической, поскольку я хочу, чтобы пользователь мог копировать, вставлять диаграмму и таблицу и изменять значения.
Sub Macro2()
'
' Macro2 changes the triangle colour to orange (RGB(255, 192, 0)) to indicate Amber/At Risk
Dim i As Integer
i = ActiveCell.Offset(0, -2).Value
With Worksheets("Upcoming Milestone Plan").ChartObjects("Chart 5").Chart.FullSeriesCollection(1).Points(i).Format
.Fill.ForeColor.RGB = RGB(255, 192, 0)
.Line.ForeColor.RGB = RGB(255, 192, 0)
End With
End Sub
Я попытался использовать Offset, чтобы активировать график слева, но это не сработало. См. ниже. Есть лучшие предложения?
Большое спасибо!
Sub Macro1()
'
' Macro1 changes the triangle colour to purple (RGB(112, 48, 160)) to indicate End date is on On Track
Dim i As Integer
i = ActiveCell.Offset(0, -2).Value
**With Worksheets("Upcoming Milestone Plan").ChartObjects(ActiveCell.Offset(0, -7))**.Chart.FullSeriesCollection(1).Points(i).Format
.Fill.ForeColor.RGB = RGB(112, 48, 160)
.Line.ForeColor.RGB = RGB(112, 48, 160)
End With
End Sub
Привет, BigBen, большое спасибо. Я сделал именно то, что вы посоветовали, и это сработало!
Вероятно, вам нужно просмотреть объекты диаграммы на листе и проверить, соответствует ли их
.TopLeftCell
Intersects
ActiveCell.Offset(0, -7)
. Или, может быть,.BottomRightCell
в зависимости от положения объекта диаграммы.