所选系列的返回索引
有没有一种简单的方法来获取使用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相同)