- ベストアンサー
ブックCloseでVBAが続かない
- エクセル2002を使用しています。ブック(A)をコピーして名前(B)をつけて別ブックで保存しました。ブック(A)を呼び出し後、ブック(B)を閉じてブック(A)のVBAを継続したいのですが、継続しません。
- 作成したモジュールは、シートの削除、注文書確認フォルダへの別ブックでの保存などです。
- VBAのステップインで原因を探ろうとしたところ、「中断モードでは入力できません」というメッセージが表示され、デバッグができません。助けていただけませんか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Call Macro6 これはブックの操作がなければ動作するのですよね? クローズをアクティブブックではなく、該当のブックを明示的にしなければいけないかも。 > Workbooks(Filename & ".xls").Activate > Windows(Filename & ".xls").Activate > ActiveWorkbook.Close ここを、単純に Workbooks(Filename & ".xls").Close と、してみた場合、どうでしょう?
その他の回答 (1)
- MRT1452
- ベストアンサー率42% (1391/3293)
単純に ActiveWorkbookが自分自身になってしまっているというだけでは? 前に myName0 = ThisWorkbook.Name と、してますよね。ThisWorkbookって「自分自身」って意味ですが。 なので、クローズする前に自分自身をアクティブにしていますから、 アクティブブックを閉じるということは、自分自身を閉じるということになりますよ。 このVBAがブックAにあるのかブックBにあるのか等でも書き方は変わって来ますかと。
お礼
ご指摘の通り '【保存した別ブック名を再取得】 Dim myName0 As String myName0 = ThisWorkbook.Name としたら '【保存した別ブックを閉じる】でmyName0を使ってはいけませんよね Workbooks(myName0).Activate Windows(myName0).Activate ActiveWorkbook.Close そこで 【保存した別ブックを閉じる】で名前をダイレクトにいれたら別ブックを閉じることができました Workbooks(Filename & ".xls").Activate Windows(Filename & ".xls").Activate ActiveWorkbook.Close それでもCloseで終了となり 次のマクロが実行されません マクロを保存したまま別ブックとして保存することがいけないんでしょうかね?
お礼
再三の回答ありがとうございました。 Closeしたらマクロが実行されない件は残念ながら解消できませんでした。 続けるマクロの問題ではありません。 回答いただいた Workbooks(Filename & ".xls").Close でブックを閉じることが できました。 Closeの後にmsgboxを表示させるようにしてみたのですが CloseでVBAが終了してしまいmsgboxは表示されませんでした 続けようとしたマクロはCloseの前に実行するようVBAを組みなおしました