- 締切済み
VBA PERSONAL以外に記述すると・・・
普段はPERSONAL.xlsにモジュールを追加し、そこにプログラムを書いていますが、 人に渡す必要がある場合は、渡す対象のブックにモジュールを追加して書いています。 仮にそのブックをabc.xlsといたしますと、 abcのモジュールに記述した場合と、PERSONALに記述した場合とで、 動きが違う時があり、その違いは何故生じるのかを知りたいのです。 シートをコピーしたり、他のブックから移動したりすると、 (例えば ThisWorkbook.Sheets(1).Copy after:=ThisWorkbook.Sheets(2) とか、 Workbooks("xyz.xls").Sheets(1).Copy after:=ThisWorkbook.Sheets(2) とか) その処理が終わった時点で、プログラムが終了してしまうのです。 abc.xlsの「ThisWorkbook」に記述しても、結果は変わりません。 前述の通り、PERSONALの標準モジュールに書くと最後まで処理されます。 何か根本的に間違えていると思うのですが(汗)、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
お礼
ご回答ありがとうございます。 質問文が良くなかったようです。PERSONALの標準モジュールに記述して、 別のブックがアクティブな状態でデバッグしています。 標準モジュールがだめならThisWorkbook モジュール?と思ってやってみたけど、 やっぱりだめでした、という感じです。 また別途質問しますので、その時はよろしくお願いします。