【发布时间】:2013-05-19 22:17:06
【问题描述】:
我正在尝试创建一个在图表中循环遍历系列的宏,并且仅根据最大/最小值显示最大/最小标签。
有些系列只有负值,在这些情况下,我希望只显示最小数据点标签,反之亦然,适用于具有 0 或更大值的系列。
我目前的代码是:
Sheets("Curve").ChartObjects("Chart 14").Activate
For Each serie In ActiveChart.SeriesCollection
Dim pointCount As Integer
Dim pointValues As Variant
pointCount = serie.Points.Count
pointValues = serie.Values
For pointIndex = 1 To pointCount
If pointValues(pointIndex) < 1000 Then
serie.Points(pointIndex).HasDataLabel = True
End If
Next pointIndex
Next serie
End Sub
当我手动输入阈值时效果很好,但我想用 Max(series) 值替换“1000”,以便图表中的每个系列只有一个可见的标签。
【问题讨论】:
-
一种方法是执行 For..Next 循环两次,一次计算 PointValue 数组中的最大点值,一次设置标签,如果该点等于最大点值。跨度>