Изменение цвета точки в диаграмме excel VBA

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

enter image description here


может ли кто-нибудь предложить мне, как получить диаграмму в VBA, а затем применить такое условие e.g я хочу изменить цвет самой высокой точки На приведенном выше графике . Любая помощь будет высоко оценена.

2 ответов


использование: ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart1").Chart.SeriesCollection(1)

цвет каждой точки .Points(PointNumber).Interior.Color

количество очков, которые вы должны цикл, хотя это .Points.Count

значение каждой точки составляет .Points(PointNumber).Value

цвета самих маркеров (применяется только для линейных, рассеивающих и радиолокационных диаграмм):

.Points(PointNumber).MarkerBackgroundColor = RGB(0,255,0)    ' green
.Points(PointNumber).MarkerForegroundColor = RGB(255,0,0)    ' red
.Points(PointNumber).MarkerStyle = xlMarkerStyleCircle ' change the shape

давайте рассмотрим другой подход, который не требует никакого кода.

предположим, что ваши данные находятся в Столбцах A (порядковый номер или время) и B значение, начиная с A2 и B2, так как ваши метки находятся в A1 и B1. Мы добавим серию на диаграмму, которая включает любые отклоняющиеся значения из столбца B. Эта серия нарисует маркер перед любыми отклоняющимися точками, чтобы исходная точка все еще присутствовала, и вместо переформатирования этой точки новая серия отображает точку.

In ячейка C1, введите "Deviant".

в ячейке C2 введите формулу, которая обнаруживает отклоняющуюся точку, что-то вроде:

=IF (AND (B2>upperlimit, B2

Это помещает значение в столбец C, если столбец B превышает верхний и нижний пределы, иначе он помещает #N/A в столбец C, #N / A не приведет к построенной точке.

скопируйте данные в столбец C, выберите диаграмму и вставьте Special как новый ряд. Формат этой серии имеют линия и любой яркий маркер хотите использовать, чтобы указать неконтролируемую точку.