• 締切済み

Excelグラフ内でのマウス座標の取得マクロ

Excelの散布図のプロットエリア内でのマウス座標を取得するマクロを教えて下さい。 データのプロットだけでなく、プロットエリア内の任意の場所でのマウス座標です。 座標は画面の座標ではなく、グラフの軸の目盛での座標です。 よろしくお願いします。

みんなの回答

回答No.1

エクセルで座標は直接拾えないと思います。 画面座標とエクセルウィンドウ座標とグラフ座標から割り出すしかないと思います。 または、透明オブジェクトをグラフ上に複数配置してonmouseイベントでざっくり位置はわかります。が、いろいろ欠点があります。

greentea137
質問者

お礼

教えて頂いた1番目の方法でやってみました。 Y軸値の場合 (X軸値もほぼ同じ考え方でできる) k.Excel座標からスクリーン座標への変換係数    GetDeviceCaps(hDc, LOGPIXELSY) / 72 * ActiveWindow.Zoom / 100 A.Excelワークシートの左上座標    ActiveWindow.PointsToScreenPixelsY(0) B.グラフの左上座標    ActiveChart.Parent.Top C.プロットエリアの左上座標    ActiveChart.PlotArea.InsideTop D.プロットエリアの高さ    ActiveChart.PlotArea.InsideHeight E.Y軸の最小値    ActiveChart..Axes(xlValue).MinimumScale F.Y軸の最大値    ActiveChart..Axes(xlValue).MinimumScale G.マウス座標    GetCursorPos p , p.Y グラフスケールでのY値  = (A + k*B + k*C + k*D - G) * (F - E)/(k*D) + E でそれらしい値になるのですが、微妙にズレがあります。 ズレ量はグラフのレンジに比例しているように見えるので、 上の値に補正量として(F - E)*0.022を加えています。 0.022は理論値ではなく、合わせこんだ値です。 PCが変わると違う値になります。

関連するQ&A

  • EXCEL グラフの描き方

    EXCELで、系列Aを横軸に、系列B,Cを縦軸にとって 散布図を描こうとしています。 系列Bと系列Cのデータは単位も桁も違いますが、 一つのグラフに並べて挙動が分かりやすくなるように プロットしようとしたとき、 2種類の軸目盛を別々に設定することはできますか? どなたか、教えていただけるとうれしいです。

  • エクセルのグラフの目盛りについて

    エクセルのグラフで二軸上の折れ線グラフを用いてグラフを描いたところ、プロットのデータに対応した値しかx軸の目盛りに表記されません。プロットにかかわらず、x軸の目盛りを取りたいのですが、どうやったらよいのでしょうか?

  • エクセルのグラフ

    高校2年生です エクセルでの、グラフをつくりたいのですが、グラフウィザードで作ろうとすると、うまくつくりたい形にできないので、誰か教えていただけませんか たとえば、        (X軸におきたいデータ) (Y軸におきたいデータ) 日本          (1)                アメリカ        (2)                 イギリス       (3)                 というのを、散布図のグラフにしたいのですが、エクセルでつくろうとすると、どうしても、XとYにおきたいデータがそれぞれグラフ内にプロットされてしまいます この場合、どうすればいのでしょうか 少しわかりづらくなってしまて、申し訳ありません よろしくお願いします

  • エクセルで片対数グラフを書きたいのですが

    添付図のように、エクセルを使って片対数グラフを書きたいです。 図では、□、△、○の3つの異なる条件について、N/N0の時間変化について書かれていますが、この図のように、一枚のグラフに3つもグラフを書くようにするにはどうしたらいいのかがわかりません。 まずエクセルで、数値を代入して、挿入→散布図と押して、直線のグラフ自体は書けるのですが、縦軸を対数目盛にするにはどうしたらいいのかがわかりません。また、x軸とy軸に任意の文字を入力する方法についても教えていただけたらと思います。 まとめると、 (1)3つの異なるグラフを一枚のグラフに表すにはどうすればよいか (2)図のように縦軸が対数になるようにするにはどうすればよいか (3)各軸において任意の文字を入力するにはどうすればよいか について教えてください。お願いします。

  • エクセルのグラフ

     入力した値(その時によって変化する)でグラフを作りたいんです。形としては直交座標で、中心O基準とする、各データのプロット図です。(わかりづらい説明。。)  入力する値は、中心Oからy軸の+方向(北の方向)を基準に、何度(方角)何メーター(距離)と入力します。入力したデータのx軸、y軸座標は出力できるようにしています。  エクセルのグラフ作成(散布図)でやると、データによって(+/-)グラフの形が変わってしまい、また、各データの値を連番で、1,2と入れたいんですが、うまくいきません。また、中心Oから0度、30度、60度、90度、、、という風に方角の罫線も入れたいです。  グラフは今まで扱ったことがなく、超初心者です。  わかりづらい説明ですが。。よろしくお願いしますっ。

  • Excel グラフのプロットからデータを見つける

    こんにちは、おそらくとても基本的な作業なのですが、分からずに困っております。エクセルで、あるデータから散布図を作ったとします。するとプロットがグラフとして現れますが、このプロットがどのセルのデータに該当するかを見つけるにはどうしたらよいでしょうか。プロットをクリックしても、その座標の値しか現れず、どのセルに対応するのかをみつけることができません。ご存知の方宜しくお願いします。 Excel 2007を使用しております。

  • エクセルの対数グラフで細かい目盛を入れる方法

    エクセルで散布図、軸の書式設定で対数のグラフを 書きました。 しかしX軸の目盛が 100,1000,10000だけで読みにくいのです。 100,200,500・・・のようにもう少し細かい目盛を入れる 方法がありましたら教えてください。

  • エクセルの折れ線グラフで目盛り線上にマーカー

    エクセルで折れ線グラフを作っています。 X軸の目盛り線を表示させるとデータとデータの間に線が入ってしまうのですが、データ上に目盛り線を表示させることはできないのでしょうか? 散布図を使ってみることも検討しましたが、散布図だと軸に文字を設定できないようです。 説明がうまくできず申し訳ないのですが、解決策はないでしょうか。 よろしくお願いします。

  • エクセルでグラフの作り方 軌跡を示すようなグラフにしたいのですが

    エクセルでグラフの作り方 軌跡を示すようなグラフにしたいのですが・・・ x・y座標ともデータはあります 子どもが歩いている様子を画像でとらえて手先の部分だけ座標を読み込んだのですが (実長のデータにしてあります) 手先の部分の移動範囲(移動の仕方グラフ(散布図?)で表したいのです。どのようにしたらよいのでしょうか? (当方、マクロ、VBAはわからないのですが) よろしくお願いいたします。

  • Excelで扱えるデータ数を超えるデータのグラフ

    時間ごとのデータの変化をExcelでグラフ化しています。 Excelで扱えるデータ数に制限があるため分割して作図し 始めましたが、作業量が膨大になり現実的でないことが わかりました。 Excelで扱えるデータ量(行数)を遙かに超える行数 (理想的には2000倍)のデータをグラフ化できるような ソフトを紹介していただけないでしょうか? Excelの散布図(プロットなし、折れ線あり)で 横軸は時間、縦軸は温度、電圧、圧力などです。 何種類かの縦軸目盛りが同時に表示できると ありがたいです。(Excelで言う1軸、2軸) よろしくお願いします。

専門家に質問してみよう