Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9996 / 13646 ツリー ←次へ | 前へ→

【24368】クリックしたところに吹き出しを出したい VBAビギナー 05/4/20(水) 17:32 質問[未読]
【24375】Re:クリックしたところに吹き出しを出したい ウッシ 05/4/20(水) 20:45 発言[未読]
【24380】Re:クリックしたところに吹き出しを出したい ichinose 05/4/20(水) 21:38 発言[未読]
【24384】Re:クリックしたところに吹き出しを出した... ichinose 05/4/20(水) 21:51 発言[未読]
【24387】Re:クリックしたところに吹き出しを出した... ウッシ 05/4/20(水) 22:33 発言[未読]
【24391】Re:クリックしたところに吹き出しを出したい m2m10 05/4/21(木) 8:27 質問[未読]
【24392】Re:クリックしたところに吹き出しを出したい IROC 05/4/21(木) 9:19 回答[未読]
【24394】Re:クリックしたところに吹き出しを出し... VBAビギナー 05/4/21(木) 10:56 お礼[未読]

【24368】クリックしたところに吹き出しを出したい
質問  VBAビギナー  - 05/4/20(水) 17:32 -

引用なし
パスワード
   何方かご教授ください。
myCht_MouseUp(., ByVal x As Long, ByVal y As Long)イベントを利用し、
xとyの位置と 吹き出しの.Adjustments.Item(1) Item(2)の位置を同じにしたいのですが、やり方が解りません、宜しくお願いします。
(クリックしたところに吹き出しの.Adjustments.Itemをもってきたい。)

【24375】Re:クリックしたところに吹き出しを出し...
発言  ウッシ  - 05/4/20(水) 20:45 -

引用なし
パスワード
   ▼VBAビギナー さん:
>何方かご教授ください。
>myCht_MouseUp(., ByVal x As Long, ByVal y As Long)イベントを利用し、
>xとyの位置と 吹き出しの.Adjustments.Item(1) Item(2)の位置を同じにしたいのですが、やり方が解りません、宜しくお願いします。
>(クリックしたところに吹き出しの.Adjustments.Itemをもってきたい。)

こんばんは

分りません、お手上げなので他の方のレスを待って下さい。

Private Sub myChartClass_MouseUp( _
       ByVal Button As Long, ByVal Shift As Long, _
       ByVal x As Long, ByVal y As Long)

  Dim xx As Double
  Dim yy As Double

>'「x」「y」の値がそのまま使える訳ではないので
>'xx、yy に 「x」「y」に関連付け出来る何かの値をセットすれば良さそう
>'なのですが、元々Item(1)、Item(2)にセットする値と吹き出し口の位置の関係
>'がさっぱり分らないのでどうしようも無いです。

  With ActiveSheet.Shapes("AutoShape 1").Adjustments
    .Item(1) = xx
    .Item(2) = yy
  End With
End Sub

【24380】Re:クリックしたところに吹き出しを出し...
発言  ichinose  - 05/4/20(水) 21:38 -

引用なし
パスワード
   ▼ウッシ さん、▼VBAビギナー さん、こんばんは。

>>何方かご教授ください。
>>myCht_MouseUp(., ByVal x As Long, ByVal y As Long)イベントを利用し、
>>xとyの位置と 吹き出しの.Adjustments.Item(1) Item(2)の位置を同じにしたいのですが、やり方が解りません、宜しくお願いします。
>>(クリックしたところに吹き出しの.Adjustments.Itemをもってきたい。)
>
グラフ(Chart 1)と吹き出し(オートシェイプ 1)が存在するシートの
モジュールに

'===============================================================
Dim WithEvents cht As Chart
'===============================================================
Sub set_obj()
  Set cht = Me.ChartObjects("Chart 1").Chart
End Sub
'===============================================================
Private Sub cht_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
  Dim shp As Shape
  Dim paobj As ChartObject
  Set paobj = cht.Parent
  Set shp = Me.Shapes("オートシェイプ 1")
  With shp
   .Adjustments(1) = (paobj.Left + 0.75 * x - .Left) / .Width
   .Adjustments(2) = (paobj.Top + 0.75 * y - .Top) / .Height
   .ZOrder msoBringToFront
   .Select
   End With
  Me.Select
End Sub


として、プロシジャーset_objを実行後、グラフをクリックして確認してみてください。

私がテストした限りではうまく作動していますが・・・。

【24384】Re:クリックしたところに吹き出しを出し...
発言  ichinose  - 05/4/20(水) 21:51 -

引用なし
パスワード
   >グラフ(Chart 1)と吹き出し(オートシェイプ 1)が存在するシートの
>モジュールに

ちなみに吹き出しは、

sub test()
  ActiveSheet.Shapes.AddShape(msoShapeRectangularCallout, 311.25, 153.75, 94.5, _
    93.75).Select
end sub

このマクロで作成されるタイプのものです。

【24387】Re:クリックしたところに吹き出しを出し...
発言  ウッシ  - 05/4/20(水) 22:33 -

引用なし
パスワード
   こんばんは、ichinoseさん

いいですね。

VBAビギナーさんがクラスモジュールを使っている意味は分りませんけど、こちらの方
がずっと動きが軽快です。

【24391】Re:クリックしたところに吹き出しを出し...
質問  m2m10  - 05/4/21(木) 8:27 -

引用なし
パスワード
   ▼VBAビギナー さん:
>何方かご教授ください。
>myCht_MouseUp(., ByVal x As Long, ByVal y As Long)イベントを利用し、
>xとyの位置と 吹き出しの.Adjustments.Item(1) Item(2)の位置を同じにしたいのですが、やり方が解りません、宜しくお願いします。
>(クリックしたところに吹き出しの.Adjustments.Itemをもってきたい。)

マルチポストはルール違反と思います。

  どちらかを閉めてください

【24392】Re:クリックしたところに吹き出しを出し...
回答  IROC  - 05/4/21(木) 9:19 -

引用なし
パスワード
   ▼m2m10 さん:
こちらのサイトではマルチポストは禁止されていませんよ。
もう一方のサイトがどちらかは知りませんが、
そちらで禁止されているなら、そちらで注意を促しては如何でしょうか?

【24394】Re:クリックしたところに吹き出しを出し...
お礼  VBAビギナー  - 05/4/21(木) 10:56 -

引用なし
パスワード
   ウッシ さん
ichinose さん
m2m10 さん
IROC さん
どうも有難う御座いました。
また、ご注意頂いた件 大変申し訳なく
今後は、このような事の無いように致します。
どうもすいませんでした。

ichinoseさんからご回答頂いた
コードを勉強させて頂きたいと思います。

まだ、初心者なため時間が掛かると思いますので、
一度閉めさせて頂き、解決出来ない時に、
また勉強させてください。

>クラスモジュールを使っている意味は分りませんけど
グラフが複数の為使用しました。

本当に皆さんどうも有難う御座いました。

9996 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free