• ベストアンサー

マクロ 他のブックで使うとき保存したファイル開かな

自分はマクロ初心者で先日初めてマクロ有効のエクセルファイルを作りました。作ってボタン(押したらマクロが実行されるもの)を用意し、満足できる出来になったのはいいのですが、そのボタンをコピーして他のブックにはりつけ、ボタンを使おうとしたら、エラーになってしまいます(○○○というブックの名前が変更されたか、消された可能性があります) その指定のブックを開いた状態でボタンを使えばうまく動きます。 どうすれば、その指定のブックを開かずともマクロ月のボタンを使えるでしょうか? ちなみにエクセルのバージョンは最新で、自分以外のパソコンでも同じことが起きるのでバグではないと思います。 宜しくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

もしかしたらですが そのボタンのマクロの登録を見たときに添付画像のようにマクロ名に元のファイル名が入っていないでしょうか。 添付画像だとBook200.xlsm その場合は、マクロを新しいブックにコピーしていれば下にコピーしたマクロ名(添付画像だとボタン_Click)がありますのでそれを選択してOkしてみてください。

その他の回答 (3)

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.3

 もしかして「ボタン」というのは挿入した図形にマクロ登録してある状態の事ですか?  もしそうなら、別ブックにコピーしただけでは使えません。元々のブックのマクロが登録された状態になります。  貴方の要望がしっかりとは把握できてないので、もし的外れならごめんなさいなのですが「図形やマクロのコードをコピーする」のではなく「マクロブック自体をコピー、または名前をつけて保存で複製する」と、図形とマクロの紐付けが維持されたままマクロブックを増やせます。  そこから適宜改造した方が結果的に早いと思いますよ。

noname#252888
noname#252888
回答No.2

>>ボタンの紐づきを一つ一つ変更する以外に改善策はありますか? 1つ1つって、、、そんなにボタンが有るのですか?w どうやってボタンを作ったのかによって対処方法は違いますが1つ1つやらなくてはダメでしょうね。 [開発]タブ⇒[挿入]⇒[ActiveXコントロール]でボタンを作ったのなら オブジェクト名が初期値になってしまっているので、1つ1つソースに合わせたボタン名にする必要が有ります。 あとは移動先へボタンをコピー、ソースをコピーではなくて、 ボタンのあるシートごと移動先のExcelへ移してはどうですか? シートにソースが紐付いているのならソースも自動で移りますよ。 思うんですけど。。。。 ①マクロを組んだExcel ②移植したい先のExcel ②へ①の一部をもっていくのではなくて ①へ②の必要な部分を移植すれば解決なんじゃないですか?

noname#252888
noname#252888
回答No.1

そりゃダメでしょ。 自分でVBE(Alt + F11で開く画面)でソースを書いたのですよね? そのソースは、シートかブックに紐付いています。左のバーを見ると何に紐付いているか解ります。 貴方はボタンだけ他のエクセルにコピーして、ソースをコピーしていない状態です。ボタンは有ってもソースが無いのだから動くはずが無いです。 ソースをコピーする必要が有りますし、 ボタンの作り方によっては、複製するとオブジェクト名が初期値に戻るのでそれを合わせる必要が有ります。

yamahb
質問者

補足

ありがとうございます!ソースもコピーしてみたのですが、改善しませんでした。 おそらく元の方のブックのボタンをコピーしたため、元の方のブックのソースと紐づいてしまっているせいだと思います。ボタンの紐づきを一つ一つ変更する以外に改善策はありますか?

関連するQ&A