プロが教える店舗&オフィスのセキュリティ対策術

エクセルのシートの毎行にオートシェイプを貼りつけて、それぞれにマクロを登録します(例えば「行削除」「行挿入」など)

シェイプをクリックして起動されるマクロの中で、どのシェイプからマクロが起動されたか(もしくはクリックされたシェイプがあるセルアドレス)を取得する方法があればお教え下さい。よろしくお願いします。

シェイプ名が取得できればIntersectメソッドで行のアドレスが取得できると考えておりますが、色々調べてもどのようにしたらイベントが拾えるかわかりません。

フォームのコマンドボタンを使用すればClickイベントは発生するのですが、コマンドボタンでは行挿入(他のシートから行コピー&行の挿入)を行ったときに一緒に貼り付いてくれないので、可能であればシェイプで実現したいと思っています。

A 回答 (1件)

クリックされた図形の名前


 MsgBox ActiveSheet.Shapes(Application.Caller).Name

クリックされた図形の範囲の左上が位置するセルアドレス
 MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address
    • good
    • 0
この回答へのお礼

オブジェクトブラウザも一生懸命探したのですが見つけられませんでした。

ありがとうございました。

お礼日時:2006/10/02 19:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!