所选系列的返回索引

有没有一种简单的方法来获取使用VBA Excel图表中选定的行的索引? 我有一个图表,用户select一个系列。 那么macros应该做一些事情。 我正在寻找像idx = Selection.getIndex

我需要这个idx来调用其他函数,使用索引来select特定的系列(例如FullSeriesCollection(idx).DataLabels.labelPos=...

给你三个想法:

第一个使用对象variables而不是索引引用:

 Dim SER As Series Set SER = Selection SER.anyproperty.anymethod... 'do your action here 

第二次使用阴谋顺序得到…索引(但不知道这总是匹配)?

 Dim inxSer As Integer inxSer = Selection.PlotOrder 

3 – 读取系列公式的最后一个参数

 Dim inxFromFormula As Integer Dim tmpSerFormula As String tmpSerFormula = Selection.Formula tmpSerFormula = Mid(tmpSerFormula, InStrRev(tmpSerFormula, ",") + 1) inxFromFormula = Left(tmpSerFormula, Len(tmpSerFormula) - 1) 

您可以利用图表对象事件来实现。 如果图表embedded到图表中,则需要首先将其声明为“WithEvents”variables,如下所述: 在embedded图表中使用事件

之后,您可以使用以下参数定义SeriesChange处理程序:

 Private Sub myChartClass_SeriesChange(ByVal SeriesIndex As Long, ByVal PointIndex As Long) End Sub 

编辑:上面的事件是当用户更改点值时触发,您应该使用select事件。

 myChartClass_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long) 

参数描述(与BeforeDoubleClick相同)