- 締切済み
excel オートシェイブのコピーについて
ワークシート内にオートシェイブを使って、マクロのボタンを作りました。 同じボタンを複数個使うのでコピーしてマクロ登録しようとしたところ、 1)同じオートシェーブNoになる場合(AutoShape1_Click) と 2)違うオートシェイブNoになる場合(AutoShape1_ClickとAutoShape2_Click) がありました。 登録したマクロが、オートシェイブオブジェクトの置かれているセル行を使用しているため col = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row 1)の場合は最初に置いたAutoShape1のセル行が返されてきます。 質問ですが、 イ) コピーをして、1)になる場合と、2)になる場合はどこが違うんでしょうか? ロ) オートシェイブのプロパティを見る方法ってありますか? コピーしたオートシェイブNoを確認したいのですが…
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
>オートシェイブのプロパティを見る方法ってありますか?コピーしたオートシェイブNoを確認したいのですが 名前なら 編集状態でその図形を選択するとエクセルのそのシートの名前ボックスに「四角形 1]などの名前が出るのでは。 質問にエクセルのバージョンが書いてないが、必ず書くこと。 2007以後だとAutoShape1になるのかな。 ーー シート上の図形はコピーで増やしても、 マクロの登録は、標準モジュールに Sub test03() MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row End Sub を作っておいてそれぞれの図形の「マクロ登録」の時にTest03 を選ぶと、四角形 1のクリックでは16、四角形 2のクリックでは23、のようになったが。 ーー また マクロ登録済みの図形を、別の場所へコピー貼り付けしても、その図形の在る行を表示するようだが。 そうならないかな? ーー 操作のあたりの詳細を1歩1歩質問に説明しておくべきだと思う。
- keithin
- ベストアンサー率66% (5278/7941)
デフォルトの図形の名前(図形を生成したときに自動で付いた名前)を後で変更した場合,1の挙動になります。 デフォルトの名前のままの場合,2になります。 図形の名前は,原則として図形を選んだときに名前ボックス(数式バーの左端,通常A1のように表示される箱)に表示されます。 また, sub macro1() msgbox application.caller end sub といったマクロを当該の図形に登録して表示させてみるようなこともできます。 #参考 sub macro2() dim s set s = selection stop end sub と言ったマクロを用意し,調べたい図形を選択した状態でこのマクロをVBE画面でステップ実行し,VBE画面の表示メニューから「ローカルウィンドウ」を出しておいてsのプロパティを詳しく調べるような事も可能です。ただしこちらの手段では,ローカライズされた名前(「四角形 2」など)とは異なるnameで表示されるので,ちょっと戸惑います。
お礼
ありがとうございました。 解決いたしました。
お礼
ありがとうございました。 解決いたしました。