• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBA 自分自身のファイルの置き換え)

Excel VBA 自分自身のファイルの置き換え

このQ&Aのポイント
  • 自作マクロを配布しているが、更新に時間がかかるため自動更新を実現したい。
  • モジュールとフォームの数が多く、バイナリファイルの入れ替え方式を考えている。
  • バイナリファイルの入れ替えはうまくいったが、マクロが起動しない。バイナリファイルに制約があるのか調べたい。

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

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

いまいちどのファイルにどのマクロがあるのか理解できませんが MACRO.xlsbをリネームしたのにMACRO.xlsbのsheet1に組み込んだマクロを起動するとか… 呼び出すマクロ「削除」は標準モジュールではないのでしょうか シートのマクロでしたら以下のやり取りを参考にしてください。 http://okwave.jp/qa/q7905931.html また、PERSONAJ.xlsbは開いていますでしょうか、開いていない場合はフルパスでファイル名を記述する必要があります。 それでも動かないと思われる場合、マクロは呼び出されているが削除するコードに不備があるもののエラーではないのでそのまま終わってしまっているとか、それ以前のコードでアラートをオフにしたままにしているとかはありませんか。呼び出されているかどうか呼び出される側でmsgboxで確認してみてください。

hirochanyov
質問者

お礼

お陰様で呼び出しは上手く行きましたが、削除がどうしても上手く行かなくて、結局「自分自信を削除するマクロ」を組み込む事で解決しました。 ご丁寧な回答、ありがとうございました。

その他の回答 (1)

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

MACRO.xlsbのsheet1に組み込んだマクロの起動はどのような方法でやられているのでしょうか? Workbook_Openで起動でしょうか、他のファイルのマクロからファイルを起動したときにマクロを自動実行するにはAuto_Openだと動きません。 また (4)PERSONAL.xlsbを削除する。 ここで既に削除していますが 別名にしたPERSONAL.xlsbを閉じて、削除する。 いつ別名にしたのでしょうか? > (5)MACRO.xlsbの名前をPERSONAJ.xlsbにする。 > (6)自分自信を別名保存し、MACRO.xlsbをリネームし、そのファイルをオープン。 MACRO.xlsbはすでにリネームされているのに再度リネーム・・・ ファイル名とか書き間違えたのでしょうか

hirochanyov
質問者

補足

すみません。 色々と、間違いや言葉足らずな部分があったようです。 まず、工程の(4)と(5)は、消し忘れですので、まるっと無視してやって下さい。 正しくは、「コピー後に、まず自分を別名保存」です。 マクロの起動は、Workbook_Openでやっています。 ちなみに、以前標準モジュール内でも他ブックのマクロ呼び出しを試みた事がありますが、その時も同様に動きませんでした。