エクセル2002を使用しています
ブック(A)をコピーして名前(B)をつけて別ブックで保存しました
ブック(A)を呼び出し後、ブック(B)を閉じてブック(A)のVBAを継続したいのですが
継続しません
作成したモジュールは以下です
Application.DisplayAlerts = False
'【不要なシートを削除する】
Sheets(Array("注文書入手差異表", "入手予定履歴", "main", "営C")).Select
ActiveWindow.SelectedSheets.Delete
'【ThisWorkbook.Pathの『注文書確認フォルダ』の中に、名前をつけて別ブックで保存する
' …ユーザーフォームを使用するのでマクロごと保存】
Dim myFolder As String
Dim Filename As String
myFolder = ThisWorkbook.Path & "\注文書確認フォルダ"
Filename = Format(Date, "yyyymmdd") & "注文書入手予定表"
If Dir$(myFolder, vbDirectory) = "" Then
MkDir myFolder
End If
ActiveWorkbook.SaveAs Filename:= _
myFolder & "\" & Filename
Application.DisplayAlerts = True
'【保存した別ブック名を再取得】
Dim myName0 As String
myName0 = ThisWorkbook.Name
'【コピー元のファイルを開く】
Dim myPath As String
myPath = Application.Substitute(ThisWorkbook.Path, "\注文書確認フォルダ", "")
Workbooks.Open (myPath & "\" & "注文書入手予定表")
MsgBox "【注文書確認フォルダ】の中に別ブックが作成されました"
'【保存した別ブックを閉じる】
Workbooks(myName0).Activate
Windows(myName0).Activate
ActiveWorkbook.Close
'******下のマクロが続かない*****************
'======================
Call Macro6
'======================
VBA ステップインで原因を探ろうとしたのでですが
「中断モードでは入力できません」のメッセージがでて
デバッグができません
八方ふさがりの状態です。助けていただけませんか。
No.2ベストアンサー
- 回答日時:
Call Macro6
これはブックの操作がなければ動作するのですよね?
クローズをアクティブブックではなく、該当のブックを明示的にしなければいけないかも。
> Workbooks(Filename & ".xls").Activate
> Windows(Filename & ".xls").Activate
> ActiveWorkbook.Close
ここを、単純に
Workbooks(Filename & ".xls").Close
と、してみた場合、どうでしょう?
再三の回答ありがとうございました。
Closeしたらマクロが実行されない件は残念ながら解消できませんでした。
続けるマクロの問題ではありません。
回答いただいた Workbooks(Filename & ".xls").Close でブックを閉じることが
できました。
Closeの後にmsgboxを表示させるようにしてみたのですが
CloseでVBAが終了してしまいmsgboxは表示されませんでした
続けようとしたマクロはCloseの前に実行するようVBAを組みなおしました
No.1
- 回答日時:
単純に
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で終了となり
次のマクロが実行されません
マクロを保存したまま別ブックとして保存することがいけないんでしょうかね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
VBAでブックを非表示で開いて処...
-
エクセルの関数 ENTERを押...
-
フォルダ内の複数ファイルから...
-
【マクロ】【VBA】別ブックへの...
-
Excelでブックの共有を掛けると...
-
エクセルシートの一部を送りたい
-
VBA バックグラウンドで別ブッ...
-
エクセルで参照しているデータ...
-
Excelで指定範囲のデータ...
-
Excelファイルを開いても何も表...
-
Excel起動時に特定のワークシー...
-
エクセルファイルのバージョン...
-
エクセル 複数のブックを一度...
-
ブックのピボットを別ブックに...
-
シートを別のブックに複数自動...
-
VBAでブック保護非保護を判定す...
-
Excel VBA セルと同じ名前のブ...
-
エクセルで別ブックをバックグ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
エクセルを共有するとPCによっ...
-
WorkBooksをオープンさせずにシ...
-
エクセルで参照しているデータ...
-
エクセルで「ディスクがいっぱ...
-
Excelでブックの共有を掛けると...
-
Excelで複数ブックの同一セルに...
-
Excel(2010)のフィルターが保...
-
エクセルで別ブックをバックグ...
-
エクセルにおける,「ブック」...
-
同じフォルダへのハイパーリン...
-
ブックのピボットを別ブックに...
-
エクセルファイルを開かずにpdf...
-
エクセル2016です。「ブッ...
-
ブックの保護ができないんです...
-
エクセルで50行ごとに区切った...
-
エクセルシートの一部を送りたい
-
フォルダ内の複数ファイルから...
-
エクセル 複数のブックを一度...
おすすめ情報