【发布时间】:2017-01-06 23:11:05
【问题描述】:
我试图构建一个交互式图表来表示一组数据。在下面的屏幕截图中,如果我们选择不同的按钮,我们可以为图表选择不同的数据系列。我的问题是,通过使用下面的代码,如果系列 1 为真,那么我能够获得 myX 和 myY 的值 ...对于选择的其他系列,我只会得到空白。
Private Sub Chart_MouseUp(ByVal Button As Long, ByVal Shift As Long, _
ByVal x As Long, ByVal y As Long)
Dim ElementID As Long, Arg1 As Long, Arg2 As Long
Dim myX As Variant, myY As Double
With ActiveChart
.GetChartElement x, y, ElementID, Arg1, Arg2
' Did we click over a point or data label?
If ElementID = xlSeries Or ElementID = xlDataLabel Then
On Error Resume Next
If Arg2 > 0 Then
' Extract x value from array of x values
myX = WorksheetFunction.Index(.SeriesCollection(Arg1).XValues, Arg2)
' Extract y value from array of y values
myY = WorksheetFunction.Index _
(.SeriesCollection(Arg1).Values, Arg2)
MsgBox myX & ", " & myY
基本上是一行
myX = WorksheetFunction.Index(.SeriesCollection(Arg1).XValues, Arg2)
如果选择系列 2 或 3,则抛出错误参数无效。如果选择了系列 1,则工作正常。
myX 为我提供点击国家的名称和 myY 的值。
视频链接可查看此 excel 文件中发生的情况。
【问题讨论】: