我有一张测量过程的图表。并基于某些标准:
标准1:比平均值低8个点(只需要始终低于平均值,可以上升或下降。
标准2:尝试识别循环数据,因此我想检测何时在三个数据点(8,10,7)的流中最高数字(两边都有两个较低的数字),反之亦然。
然后,如果在数据中检测到这些模式,我想使用VBA来更改符合条件的这些特定数据点的颜色。
这可能吗?不确定如何实现它?基本上我会将函数传递给一系列数据,列A将具有日期,列B的值将介于1-10之间。
答案 0 :(得分:0)
以下子更改了值大于50的各个点的颜色。您可以修改此代码,其中If vals(x) > 50 Then
具有将执行模式匹配的if语句
编辑我已对其进行了修改,以便仅对这些值进行着色> 50其中先前的值也在> 50
Sub ColourOver50()
Set cht = ActiveSheet.ChartObjects(1).Chart
Set s = cht.SeriesCollection(1)
vals = s.Values
For x = WorksheetFunction.Max(LBound(vals), 8) To UBound(vals)
Dim flag As Boolean
flag = True
For i = 0 To 7
If vals(x - i) > 50 Then
'do nothing
Else
flag = False
End If
Next
If flag = True Then
With s.Points(x)
.Format.Line.ForeColor.RGB = RGB(255, 0, 0)
End With
End If
Next x
End Sub