• ベストアンサー

【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい

ワークシートに多数(60個程度)のオートシェイプが配置されています。それらにはひとつひとつ「名前」をつけています。(オートシェイプ1とかを1日とかに変更しました) これらのオートシェイプをボタン代わりにマクロを割り当てて実行しようとしています。 そこで、例えば”1日”と名前を定義したオートシェイプがクリックされた時にその名前”1日”を取得する方法が解りません。 説明が下手でうまく伝わっているか心配ですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 そのような場合はCallerプロパティを使います。  例えば、オートシェイプ1という名前の図形に 以下のマクロを登録して実行すると、 "オートシェイプ1"という文字列を取得できます。 Sub Macro1() MsgBox Application.Caller End Sub

kazh
質問者

お礼

早速の解答ありがとうございます。 Callerプロパティですね。たしかに目的のことができました。 まだまだ、駆け出し?(ても・・・いないかも知れませんが)の私には素晴らしい!の一言です。 VBAってとっても便利で、奥が深いですね。これからも勉強してみたいと思います。 また、何かとご厄介をおかけすると思いますがよろしくお願いします。

関連するQ&A