• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbaのイベントについて質問)

VBAのイベントについて質問

このQ&Aのポイント
  • VBAでマクロを組んでおります。mouseupイベント、GetChartElementをもちいて散布図の中のグラフ要素の値を取得したいのですが、これらのコマンドはグラフシートにしか適用できないでしょうか?
  • クラスモジュールClass1にて、myChart_MouseUpイベントを使用して散布図のグラフ要素の値を取得したい。
  • 標準モジュールにInitializeChartサブプロシージャを追加し、myClass.myChartにActiveChartを設定しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.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モジュールでやる方法も探せば見つかると思います。

braviass
質問者

お礼

回答ありがとうございます。 参考のホームページも一度みたことがあります。この中では、Selectイベントを使用していますね。質問のやり方(Classモジュールと標準モジュールを用いた書き方)で、Selectイベントは埋め込みグラフでもうまくいくのですが、MouseUpでやろうとするとうまくいかないのです。 質問でかいたプログラムを起動→埋め込みグラフ上でデータ系列以外を選択した場合、「その他」と表示されているので、イベント自体は発生しているとは思うのですが、データ系列を選択しても反応してくれません。何か足りないのでしょうか?

braviass
質問者

補足

解決しました。 どうやらMouseUpではそもそもうまくいかないようです。 MouseDownを用いてみたらうまくいきました。

その他の回答 (1)

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.1

あくまで、推測ですが。 WithEvents は、フォーム限定のキーワードではないかと思います。 なので、シート上のオブジェクトは認識できないのではないのかと。 元々WithEvents はVBのキーワードですし。

braviass
質問者

お礼

ご回答ありがとうございます。 今回のようにmouseupを用いる場合は、うまくいかないのですがselectを用いると、同様の書き方でうまくいくのです。(つまり、myChart_select)この場合もWithEventsを使用しているのですが、何が違うのでしょうか? ちなみに、質問のプログラムを起動すると、データ系列以外は、認識していて、「その他」とメッセージボックスで表示されます。ただ、データ系列だけはうまく認識できていないようです。

braviass
質問者

補足

ごめんなさい。同じ書き方ではありませんでした。selectイベントを用いた場合では、witheventsは使用していますが、GetChartElementは使用していませんでした。

関連するQ&A

専門家に質問してみよう