『元のシートにあるボタンを新しいブックで実行できるようにするには』(はいぽ)
シート移動後の新しいブックで誰もがマクロを使えるようにするにはどうしたら良いでしょうか。
元のブック標準モジュールにシートを移動させるコードを書いています。移動させるシートにはシートモジュールにコードを書き、フォームコントロールボタンでマクロ登録しています。標準モジュールのマクロ実行し、新しいブックにシートが移動した後、ボタンには元ブックのマクロ名で登録されているためマクロが実行できません。マクロを全く知らない人でもボタンを押すとマクロが実行できるようになる方法はないでしょうか。
< 使用 Excel:Excel2010、使用 OS:Windows10 >
よくわかってないけど、マクロ登録時のマクロの保存先だっけか?は、作業中のブックにしとけば大丈夫なのでは? (不明) 2025/10/09(木) 14:41:22
ああ、 >新しいブックにシートが移動した後 ??? なら、新しいブックにマクロないのでは・・・ マクロも書いて、再登録すれば・・・
(不明) 2025/10/09(木) 14:48:18
既にありました回答でもよいと思いますが、別の考え方もあると思います。
| 移動させるシートにはシートモジュールにコードを書き、 | フォームコントロールボタンでマクロ登録しています。 ということなら、ActiveXコントロールを利用すればどうですか?
シートコピーすれば、 ・マクロも、 ・ActiveXコマンドボタン と マクロとの関係も、 そのままコピーされるので、修正作業は不要かもしれませんね。
(xyz) 2025/10/09(木) 15:14:53
シートモジュールにマクロを書きます。
コピーしたあと、 ActiveSheet.Shapes("ボタンの名前").OnAction = ActiveSheet.CodeName & "." & "マクロの名前" します (´・ω・`) 2025/10/09(木) 17:16:05
そもそもですが
マスターブックとしてxlsmファイルを作成 →マスターブックに各シートの原本を保存 →シート移動後はxlsxとして保存 →あくまでxlsxは編集しない前提で、xlsmの方編集やマクロでの処理を行う
といった方針の方が、運用面では楽かと思います。
マスターブックで管理すれば クエリでのデータ取得、コード内容の変更、シート原本の修正 etc が格段に楽になりませんか?
(Asa) 2025/10/09(木) 18:51:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.