ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3972720 Excel VBAでグラフをクリックした時走るイベントありますか?
質問者:asami97 Excel VBAで既存のグラフをクリックした時、その選択されたグラフを編集するソフトを作りたいのですが、グラフをクリックした走るイベントはありませんか?
イベントさえわかれば処理の書き方はわかります。
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/24 15:54
最新から表示回答順に表示

回答

ANo.3 こんなのではどうでしょうか?

どこかの時点で
Sub setOnClick()
Dim c As ChartObject
For Each c In Sheet1.ChartObjects
c.OnAction = "chartOnClick"
Next
End Sub
を実行すれば、その時点でのすべてのグラフのクリックイベントが捕まえられるので、
Sub chartOnClick()
MsgBox Application.Caller
End Sub
で、どのグラフがクリックされたかわかります。

p.s.
上はchartOnClickが標準モジュールにある場合で、Sheet1のイベントを呼ぶ場合は、
c.OnAction = "Sheet1.chartOnClick" '適当な名前
で設定する必要があります。
回答者:fumufumu_2006
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/25 06:57
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.2 1、グラフを右クリックして[グラフ1_Click]のマクロを指定。
2、マクロにコードを記述。

Sub グラフ1_Click()
  MsgBox "AAA"
End Sub

エクセルは操作したこともない門外漢ですが・・・。
一応、これでグラフをクリックすればメッセージボックスが表示されました。
回答者:Husky2007
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/24 16:44
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼回答ありがとうございます。
決まったグラフでしたら教えていただいた通りでできるのですが、今回は不特定多数のグラフがあります。
どのグラフをクリックしても同じように処理できるようにしたい為マクロの登録ですとユーザーの手間になってしまうので避けたいのです。
説明不足で申し訳ありません。
マクロの記録以外でないでしょうか?

回答

ANo.1 MouseDownイベントがあります。私はOffice2003を使っていますが、左右のボタンはイベントが発生します。中ボタンは発生しませんでした。
回答者:nda23
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:
08/04/24 16:35
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)
 
最新から表示回答順に表示