|
どうもはじめましてです。このホームページで次に書いてるのを見ました
*********************************************************
『Chartでイベント処理を行う−指定位置のグラフ要素を取得するには』( Exc
el97,2000 )
グラフ上でのマウス操作によりグラフ上の要素を指定して処理を行うとき、
GetChartElementメソッドやBeforeDoubleClickイベントを使用します。
サンプルでは、棒グラフ上のデータ系列上のデータ要素1つをクリック
したときに、対象となるデータ要素の項目と値を取得しています。
※X,Y座標を利用するため、MouseUpイベントを用いています。
(サンプル1)
※グラフシートのモジュールに貼り付けて棒グラフをクリックしてください。
Private Sub Chart_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
Dim Var As Variant
Dim Msg As String
'GetChartElementメソッドを用いてクリックしたデータ系列を取得。
'第三引数以降に対象オブジェクトの情報が格納される
’※データ系列の場合は第四引数:SeriesIndex,第五引数:PointIndex
ActiveChart.GetChartElement x, y, ElemID, Arg1, Arg2
'変数ElemIDに格納されたElementIDにより処理を分岐
Select Case ElemID '定数値の詳細はヘルプを参照
Case xlSeries 'データ系列
'GetChartElementの第五引数に格納された情報(ここではPointIndex)
'をもとにSeriesオブジェクトから項目名と値を取得
Var = ActiveChart.SeriesCollection(Arg1).XValues
Msg = "要素:" & Var(Arg2)
Var = ActiveChart.SeriesCollection(Arg1).Values
Msg = Msg & vbCrLf & "値:" & Var(Arg2)
MsgBox Msg
Case Else
'その他の処理
End Select
End Sub
*********************************************************
これは、グラフシートのモジュールに貼り付けてください!と書いてあります
が、自分は標準モジュールに貼り付けたいのです。
実際、グラフシートは始めは存在しないため、グラフシートのモジュールにプ
ログラムを張ることが出来ません。VBAを実行する事でグラフシートを新規に
作成し、そのグラフシートにおいてクリックして要素を読み込みたいのですが
、標準モジュールに貼り付けても動作してくれません。
何か良い方法は無いでしょうか?
ごちゃごちゃしましたけどよろしくお願いします。
|
|