单击图表获取X轴值-Excel VBA

Tej*_*jas 2 excel charts vba excel-vba

我遇到了一个奇怪的要求。

当用户单击“图表区域”时,我需要从图表获取X轴值。

我知道我们可以为图表分配一个宏。因此,可以为图表创建事件。但是不知道如何进一步进行。

有任何想法吗?

谢谢。

Sid*_*out 5

如果您的图表在图表表中,则可以右键单击“图表表”选项卡,选择“查看代码”,然后将以下内容粘贴到其代码模块中(请参见下面的屏幕截图)

Option Explicit

Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
    Select Case ElementID
    Case xlSeries
       If Arg2 > 0 Then
           MsgBox "Series " & Arg1 & vbCr & "Point " & Arg2
       End If
    Case Else
       MsgBox Arg1 & vbCr & Arg2
    End Select
End Sub
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如果您的图表嵌入在工作表中,则必须使用WithEvents@brettdj ,因为这里已经介绍

跟进

这是您要尝试的吗?

Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
    Select Case ElementID
    Case xlSeries
        If Arg2 > 0 Then
            x = ActiveChart.SeriesCollection(Arg1).XValues
            For i = LBound(x) To UBound(x)
                If i = Arg2 Then
                    MsgBox "Point :" & i & "and X Value = " & x(i)
                    Exit For
                End If
            Next i
       End If
    End Select
End Sub
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明