VBA在图表中find最大值

我有一个范围的数据列A,B和C.我已经显示为线图,B为主轴,C为副轴。 列A是类别轴。 我想find列C的最大值,并将数据标注放在列C的最大值和列B出现的位置。

我知道这听起来很混乱。 在本例中,列C的最大值出现在点27(或类别轴上的1.50%)。 我想在B点和C点的第27点

列A是从-5.00到10.00以.25%递增的百分比。 列B和C是针对变化绘制的。

在过去,我已经做了类似的事情,使用D列中的公式来确定C列和B列中的最大数字,如果结果为真,则将其设置为图表上的最高值。

将D列作为一系列添加到图表中。

将该系列的图表types更改为散点图,或者将点放在那里。

你可以在上面放一个标签,或者简单地把显示在绘图点上方的数量。

你不需要这个VBA。

您可能有兴趣知道我find了适合我的解决scheme。 首先,我使用公式= IF(C2 = MAX(C $ 2:C $ 62),C2,NA())和= IF(C2 = MAX(C $ 2:C $ 62),B2,NA( )),这给了我B和C两条线上图B上最大的点。 然后我格式化图表,以便这些点有数据标注(来自客户端的请求)。 最后,我将D和E列设置为白色字体,以匹配背景,使其看起来不可见。 我不喜欢这一步,但我不希望客户端看到#NA的额外行,等等。

用于数据标注的基本VBA是ActiveChart.FullSeriesCollection(5)。selectActiveChart.SetElement(msoElementDataLabelCallout)

在系列为5(E列)的地方,我在图表上标出了一个数据标注,这恰好是第3列的最大值。