【发布时间】:2023-04-03 04:25:02
【问题描述】:
如果图表中的值包含超过基线值 0.7 的 3 个连续尖峰,我目前正在创建一个 VBA 宏来更改图表标记的颜色。
例如,在下图中,我创建了一个宏,如果值高于基线值,则将所有标记颜色更改为红色,但如果有 3 个连续值高于基线值,则不会。
我的代码
这是我尝试过的 - 如果值超过 0.7,则将标记颜色更改为红色
Sub Tester()
Dim cht As Chart, s As Series, p As point
Dim vals, x As Integer
Set cht = ThisWorkbook.Worksheets("mySheet3").ChartObjects("Chart 1").Chart
Set s = cht.SeriesCollection(1)
vals = s.Values
For x = LBound(vals) To UBound(vals)
If vals(x) > 0.7 Then
With s.Points(x)
.MarkerBackgroundColor = RGB(255, 0, 0)
.MarkerForegroundColor = RGB(255, 0, 0)
End With
End If
Next x
End Sub
【问题讨论】:
-
你的代码有什么问题?问题是什么?
-
我希望代码能够在只有 3 个连续值高于基线值时更改标记颜色,而不是每个都高于基线值。你明白我的意思吗? @Pᴇʜ
-
如果有超过 3 个连续的,比如 5,你想要所有 5 个红色还是只有前 3 个?
-
全部 5 个@Pᴇʜ 有可能吗?