是否有可能使用vba插入文本框/标签到图表?

我目前正在编写一个程序,它将绘制一个X射线光谱图,然后计算出所有峰的位置,以及它们应该标记的位置。 但是,我不知道如何使用excel vba添加每个峰的标签。 我知道图表上尖峰的x和y坐标(基于坐标轴单位)。 有什么方法可以使用这些信息将标签稍微放在上面,或稍微靠右一点?

下面,我列举了一个我要去的例子。

基于input的数据,峰值将是不同的元素。 峰的尖端也将在不同的x和y位置。 所以我认为最好的方法是根据尖端的x和y坐标来添加标签,因为我总是知道这些值。

环顾networking,如果可能的话,我找不到任何有关如何做到这一点的真实信息。 我希望你们能帮我一把

X射线光谱

绝对可以。 您可以将形状(如文本框)添加到ChartArea对象。 然而,在这种情况下,似乎劫持点的DataLabel对象并操作其中的文本似乎更容易。

 Dim pt As Point Dim p As Long Dim dl As DataLabel Dim srs As Series Dim cht As Chart Set cht = ActiveSheet.ChartObjects(1).Chart Set srs = cht.SeriesCollection(1) srs.HasDataLabels = False '## Turn off the data labels For Each pt In srs.Points p = p + 1 If [logic or function to determine your peaks] Then pt.HasDataLabel = True Set dl = pt.DataLabel dl.Text = "whatever you want it to be" End If Next