- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbaのイベントについて質問)
VBAのイベントについて質問
このQ&Aのポイント
- VBAでマクロを組んでおります。mouseupイベント、GetChartElementをもちいて散布図の中のグラフ要素の値を取得したいのですが、これらのコマンドはグラフシートにしか適用できないでしょうか?
- クラスモジュールClass1にて、myChart_MouseUpイベントを使用して散布図のグラフ要素の値を取得したい。
- 標準モジュールにInitializeChartサブプロシージャを追加し、myClass.myChartにActiveChartを設定しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Classモジュールを使って、グラフシートのMouseUpイベントを使おうとしているのですか? どうも意図通りにイベントが発生していないようです。 シートモジュールでグラフシートのイベントを使う例があります。 下記ページで、kanabunさんが in 2010/05/30(日) 22:31:15 に投稿がされています。 そっくり、そのままで使えます。 ≪参考≫ グラフ要素を取得する方法 http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+201005/10050112.txt Clasモジュールでやる方法も探せば見つかると思います。
その他の回答 (1)
- MRT1452
- ベストアンサー率42% (1391/3293)
回答No.1
あくまで、推測ですが。 WithEvents は、フォーム限定のキーワードではないかと思います。 なので、シート上のオブジェクトは認識できないのではないのかと。 元々WithEvents はVBのキーワードですし。
質問者
お礼
ご回答ありがとうございます。 今回のようにmouseupを用いる場合は、うまくいかないのですがselectを用いると、同様の書き方でうまくいくのです。(つまり、myChart_select)この場合もWithEventsを使用しているのですが、何が違うのでしょうか? ちなみに、質問のプログラムを起動すると、データ系列以外は、認識していて、「その他」とメッセージボックスで表示されます。ただ、データ系列だけはうまく認識できていないようです。
質問者
補足
ごめんなさい。同じ書き方ではありませんでした。selectイベントを用いた場合では、witheventsは使用していますが、GetChartElementは使用していませんでした。
お礼
回答ありがとうございます。 参考のホームページも一度みたことがあります。この中では、Selectイベントを使用していますね。質問のやり方(Classモジュールと標準モジュールを用いた書き方)で、Selectイベントは埋め込みグラフでもうまくいくのですが、MouseUpでやろうとするとうまくいかないのです。 質問でかいたプログラムを起動→埋め込みグラフ上でデータ系列以外を選択した場合、「その他」と表示されているので、イベント自体は発生しているとは思うのですが、データ系列を選択しても反応してくれません。何か足りないのでしょうか?
補足
解決しました。 どうやらMouseUpではそもそもうまくいかないようです。 MouseDownを用いてみたらうまくいきました。