VBA在图表中找到最大值

时间:2015-05-12 21:50:44

标签: excel vba excel-vba

我有一系列数据列A,B和C.我已显示为折线图,其中B为主轴,C为次轴。 A列是类别轴。我想找到列C的最大值,并将数据标注放在C列的最大值和B列出现的位置。

我知道这听起来令人困惑。在此示例中,列C的最大值出现在点27(或类别轴上的1.50%)。对于B列和C列,我想在点27处有一个点。

A列是从-5.00到10.00的百分比,增加为0.25%。列B和C根据变化绘制。

2 个答案:

答案 0 :(得分:1)

过去我做过类似的事情,使用D栏中的公式来识别C列和B栏中的最大数字,如果结果为真,则在图表上设置一个高值。

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

仅将该系列上的图表类型更改为散点图或将点放在那里的东西。

您可以打开标签,或者只是将数量显示在绘图点上方。

你不需要VBA。

答案 1 :(得分:1)

您可能有兴趣知道我找到了适合我的解决方案。首先,我使用公式= 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)。选择 ActiveChart.SetElement(msoElementDataLabelCallout)

如果系列是5(E列),我在图表上放置数据标注,这恰好是第3列的最大值。