- ベストアンサー
Excelマクロのメンテナンスについて
- 会社にて、マクロ付きExcelファイルのメンテナンスを行う際に、一部のボタンの削除や割り付けられているマクロのコメントアウトが必要になることがあります。しかし、割り付けられているマクロが他のボタンにも使用されている場合、コメントアウトすることができません。Excel2003のバージョンを使用している場合、ボタンごとに調べる以外にも、別の方法で割り付けられているマクロを調べることはできるのでしょうか。
- Excel2003のバージョンを使用している場合、マクロ付きExcelファイルのメンテナンスを行う際には、割り付けられているマクロのコメントアウトや一部のボタンの削除を行うことがあります。しかし、割り付けられているマクロが他のボタンにも使用されている場合、コメントアウトすることができません。ボタンごとに調べる以外にも、Excel内で割り付けられているマクロを調べる方法はあるのでしょうか。
- Excel2003を使用している場合、マクロ付きExcelファイルのメンテナンスを行う際には、割り付けられているマクロのコメントアウトやボタンの削除が必要な場合があります。しかし、割り付けられているマクロが他のボタンにも使用されている場合、コメントアウトすることができません。そこで、Excel内で割り付けられているマクロを調べる方法があれば、効率的にメンテナンス作業を行うことができるのではないかと考えています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まず。 >コメントアウトしようとしているマクロが、他のボタンにも割り付けられて >いる場合は、コメントアウトできませんよね。 いいえ。何の問題もなくコメントアウトできます。 従ってそれぞれのマクロがどの「ボタン」に取り付いているのか無関係に、不要なマクロはどんどんコメントアウトしてしまって構いません。 コメントアウトされたマクロが取り付いていたボタンをクリックすると、マクロがありませんという警告ダイアログが現れます。 今回のご相談の直接の回答は、ここまでです。 それとも。 >できませんよね 聞きたかったのは「残したボタンに取り付いているマクロをコメントアウトしてしまうとマクロが使えなくなって困るので、コメントアウト(できるけど)したくない」という事ですかね。 マクロの側から、自分がどこに取り付けられているか、調べる方法はありません。 このケースでは、前述したようにとりあえず不要(と思われた)マクロをコメントアウトしてしまってから、生かして置いたボタンをクリックして「マクロがありません」がもしも出たようなら、該当のマクロを復活させるのが一番確実な方法です。 #参考 もしもあなたもご自分である程度VBEを触れるなら。 sub macro1() dim w as worksheet dim s as shape on error resume next for each w in worksheets for each s in w.shapes debug.print w.name, s.name, s.onaction next next end sub といった具合に実行し、イミディエイトウィンドウで図形とそれに取り付いているマクロの一覧を確認してください。 #参考 >各シートには複数ボタンがあり、各々マクロが割り付けられています。 エクセルでは ・オートシェイプの図形や画像等 ・フォームのコマンドボタン ・コントロールツールボックスのコマンドボタン など、マクロを取り付けられる「ボタン」が複数あります。 あなたのブックが、いったいどれを使っているのかによって、具体的な対応がちょっと変わります。もしもご相談を引っ張る必要があるときは、具体的に何を使っているのかキチンと確認し、情報提供してください。 といってもコントロールツールボックスのコマンドボタンは「他のボタンに取り付ける」事は出来ませんので、今回のご質問では無関係です。これを使っていた場合は、対応するマクロは何も考えずに消去してかまいません。
お礼
回答ありがとうございます。 提示頂いたVBEで一覧を作成し、確認させていただきたいと思います。 ただ、来週火曜日まで、夏期休暇中ですので、水曜日にでも、確認させて いただきます。