ここから本文です

マクロを登録しているExcelファイルがあります。

アバター

ID非公開さん

2020/5/2510:04:40

マクロを登録しているExcelファイルがあります。

(Aとします)
(以下 出てくる Cのファイルは 直前のマクロで開いた状態です)

今回のマクロでは
BのExcelを開いて、 CのExcelの 複数シートをコピーして
AのExcelの頭に貼り付けます。

Bのファイルを、所定のフォルダの所定の名前をつけて保存します(Dのファイル)
この処理は出来ましたが、そのあとの処理が うまくできません。

Aのファイルは上書き保存して表示したまま、
Bのファイルは 保存しないで閉じる
Cのファイルは 上書き保存して閉じる
Dのファイルは名前つけて保存した状態したあと閉じる
という 記述をどのようにしたらよいでしょうか。
終わったときに 画面に表示したいのはAのファイルのみです。
宜しくお願い致します。


ActiveWorkbook.Save

Dim str As String, wb As Workbook
str = ActiveWorkbook.FullName
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="★★\◆◆\保存" & ".xlsx", FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
Workbooks.Open str
MsgBox ("保存しました")

ThisWorkbook.Close False

閲覧数:
23
回答数:
1
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2020/5/2510:19:01

>BのExcelを開いて、 CのExcelの 複数シートをコピーして
AのExcelの頭に貼り付けます。

何の為にBブックを開くんです?名前を付けて保存するだけ?
それなら開かなくても、FileCopyステートメントでいいような…。

Application.DisplayAlerts = False

'Aのファイルは上書き保存して表示したまま、
Workbooks("A.xlsx").Save
'Bのファイルは 保存しないで閉じる
Workbooks("B.xlsx").Close False
'Cのファイルは 上書き保存して閉じる
Workbooks("C.xlsx").Close True
'Dのファイルは名前つけて保存した状態したあと閉じる
Workbooks("D.xlsm").Close True, "D:\E.xlsm"
' 終わったときに 画面に表示したいのはAのファイルのみです。
Workbooks("A.xlsx").Activate

Application.DisplayAlerts = True

  • アバター

    質問者

    ID非公開さん

    2020/5/2510:21:44

    説明不足で申し訳ございません。

    Bのシートの頭に Cの複数のシートをコピーして貼り付けて
    保存しますので開く必要があるのかなと思い記載しました。(Bのファイルはもともと開いた状態ではないです)

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる