奇妙な要件に遭遇しました。
ユーザーがチャート エリアをクリックしたときに、チャートから X 軸の値を取得する必要があります。
グラフにマクロを割り当てることができることは知っています。このように、チャートのイベントを作成することができます。しかし、さらに先に進む方法がわかりません。
これを行うアイデアはありますか?
ありがとう。
チャートがチャート シートにある場合は、チャート シート タブを右クリックし、[コードを表示] を選択して、コード モジュールに以下を貼り付けます (下のスクリーンショットを参照)。
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
チャートがシートに埋め込まれている場合は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