![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
vbaでマクロを組んでおります。
mouseupイベント、GetChartElementをもちいて散布図の中のグラフ要素の値を取得したいのですが、
これらのコマンドはグラフシートにしか適用できないでしょうか?グラフシートではうまくいくのですが埋め込みグラフに対して行うとうまくいきません。分かる方いらっしゃいましたら、お願いいたします。
クラスモジュールClass1にて↓
Public WithEvents myChart As Chart
Private Sub myChart_MouseUp _
(ByVal Button As Long, _
ByVal Shift As Long, _
ByVal x As Long, _
ByVal y As Long)
Dim ElemID As Long, Arg1 As Long, Arg2 As Long
myChart.GetChartElement x, y, ElemID, Arg1, Arg2
Select Case ElemID
Case xlSeries
MsgBox ("データ系列") '⇒データ系列と認識されればメッセージボックスがでるはず
Case Else
MsgBox ("その他")
End Select
End Sub
標準モジュールに入力↓
Dim myClass As New Class1
Sub InitializeChart()
Set myClass.myChart = ActiveChart
End Sub
No.2ベストアンサー
- 回答日時:
Classモジュールを使って、グラフシートのMouseUpイベントを使おうとしているのですか?
どうも意図通りにイベントが発生していないようです。
シートモジュールでグラフシートのイベントを使う例があります。
下記ページで、kanabunさんが in 2010/05/30(日) 22:31:15 に投稿がされています。
そっくり、そのままで使えます。
≪参考≫
グラフ要素を取得する方法
http://park7.wakwak.com/~efc21/cgi-bin/exqaloung …
Clasモジュールでやる方法も探せば見つかると思います。
回答ありがとうございます。
参考のホームページも一度みたことがあります。この中では、Selectイベントを使用していますね。質問のやり方(Classモジュールと標準モジュールを用いた書き方)で、Selectイベントは埋め込みグラフでもうまくいくのですが、MouseUpでやろうとするとうまくいかないのです。
質問でかいたプログラムを起動→埋め込みグラフ上でデータ系列以外を選択した場合、「その他」と表示されているので、イベント自体は発生しているとは思うのですが、データ系列を選択しても反応してくれません。何か足りないのでしょうか?
No.1
- 回答日時:
あくまで、推測ですが。
WithEvents は、フォーム限定のキーワードではないかと思います。
なので、シート上のオブジェクトは認識できないのではないのかと。
元々WithEvents はVBのキーワードですし。
この回答への補足
ごめんなさい。同じ書き方ではありませんでした。selectイベントを用いた場合では、witheventsは使用していますが、GetChartElementは使用していませんでした。
補足日時:2011/03/23 22:21ご回答ありがとうございます。
今回のようにmouseupを用いる場合は、うまくいかないのですがselectを用いると、同様の書き方でうまくいくのです。(つまり、myChart_select)この場合もWithEventsを使用しているのですが、何が違うのでしょうか?
ちなみに、質問のプログラムを起動すると、データ系列以外は、認識していて、「その他」とメッセージボックスで表示されます。ただ、データ系列だけはうまく認識できていないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) countifsについての質問 3 2023/03/08 13:45
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのグラフの色を統一す...
-
エクセルのグラフに上下限値の...
-
エクセル グラフのプロットエ...
-
グラフの線だけをコピペしたい!
-
はみ出たレーダーチャートの表...
-
Excelのグラフで
-
Excelのグラフで上と右の枠線を...
-
excelで線と線の間を塗りつぶし...
-
EXCELで数値に対応したベクトル...
-
wordで数直線・グラフを作成
-
wordの関数式の求め方
-
EXCEL 2007 グラフの横軸の下...
-
Excel:角ばったグラフの線を滑...
-
ワードでCos、sinの図を書きたい
-
Excelのグラフへの累乗表記につ...
-
excelで、折れ線グラフと折れ線...
-
エクセルでグラフの平均化を教...
-
vbaのイベントについて質問
-
エクセルで作ったグラフが縮む
-
【至急】Excelで睡眠時間のグラ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのグラフの色を統一す...
-
エクセルのグラフに上下限値の...
-
Excelで縦軸の書式を0:00形式の...
-
グラフの線だけをコピペしたい!
-
ワードでCos、sinの図を書きたい
-
はみ出たレーダーチャートの表...
-
【至急】Excelで睡眠時間のグラ...
-
Excelのグラフで
-
Excelのグラフで上と右の枠線を...
-
エクセルでグラフの平均化を教...
-
Excelのグラフ「プロット...
-
wordで数直線・グラフを作成
-
Sma4のグラフ作製
-
Excel:角ばったグラフの線を滑...
-
Excel2010 グラフ 横軸目盛線の...
-
EXELグラフをWORDに貼り付ける...
-
Excel2007のグラフで右の枠線を...
-
EXCELで数値に対応したベクトル...
-
パワーポイントでコストアップ...
-
回答をプロットするってなんで...
おすすめ情報