excel – 有没有办法在不使用select的情况下将标注标签添加到图表中的某个点?

有没有办法在不使用Select的情况下将标注标签添加到图表中的某个点?

录制宏,我得到了这个:

Sub Macro9()
    ActiveSheet.ChartObjects("SPC").Activate
    ActiveChart.FullSeriesCollection(1).Select
    ActiveChart.FullSeriesCollection(1).Points(4).Select
    ActiveChart.SetElement (msoElementDataLabelCallout)
End Sub

但我宁愿避免使用Select.我尝试在点上使用SetElement方法,但失败了.使用HasDataLabel = True-method只需添加一个数据标签.

是否有任何解决方法来选择点然后在图表上使用SetElement,或者我是否必须满足于类似上述宏的东西?

最佳答案
这是你在尝试什么?在下面的代码中我们避免了.Activate /.完全选择:)

随意玩.AutoShapeType属性.您还可以格式化数据标签,以便以您想要的任何格式显示值.

Sub Sample()
    Dim objC As ChartObject, chrt As Chart, dl As DataLabel
    Dim p As Point

    Set objC = Sheet1.ChartObjects(1)
    Set chrt = objC.Chart
    Set p = chrt.FullSeriesCollection(1).Points(4)

    p.HasDataLabel = True

    Set dl = p.DataLabel

    With dl
        .Position = xlLabelPositionOutsideEnd
        .Format.AutoShapeType = msoShapeRectangularCallout
        .Format.Line.Visible = msoTrue
    End With
End Sub

截图

enter image description here

转载注明原文:excel – 有没有办法在不使用select的情况下将标注标签添加到图表中的某个点? - 代码日志