更改图表excel VBA中的点颜色

时间:2012-06-21 10:28:01

标签: excel vba charts

我有这个图表,如果图表中的任何一点超过特定限制,那么它的颜色应该改变。

enter image description here


任何人都可以建议我如何在VBA中获取图表然后应用这种条件,例如我想要更改上图中最高点的颜色。任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:13)

使用: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

答案 1 :(得分:5)

让我们采取另一种方法,不需要任何代码。

假设您的数据位于A列(序列号或时间)和B值中,从A2和B2开始,因为您的标签位于A1和B1中。我们将在图表中添加一个系列,其中包括B列中的任何偏差值。此系列将在任何偏离点前面绘制一个标记,以便原始点仍然存在,而不是重新格式化此点,新系列显示点。

在单元格C1中,输入“Deviant”。

在单元格C2中,输入检测偏离点的公式,例如:

= IF(AND(B2> UPPERLIMIT,B2

如果列B超出上限和下限,则将值放入列C,否则将#N / A置于列C中,#N / A将不会产生绘制点。

复制C列中的数据,选择图表,并将特殊粘贴作为新系列。将此系列格式化为没有线条以及要用于指示失控点的任何明显标记。