Excel2016において、複数のExcelブックを自動で1つのExcelブックにまとめる方法について

【環境】Windows10,Excel2016

 【ご教示いただきたい点】

 複数のExcelブックがあり、それを自動で1つのExcelブックにしたいと思いますが、自動で1つのExcelブックにまとめる方法についてご教示をいただけますでしょうか。

回答
回答

私は複数ブックをまとめたことが無く難しそうなので
ネットを探し回ったら下記二つを見つけました。
自分でも試してみたらうまく動きました。(Windows8.1+Excel2013で)
(①も②も一部修正をしましたが)
--------------------------------------------------------------------------------


CTRL+クリックやSHIFT+クリックで複数ブックを選択してからまとめるなら
http://dukicco.hatenadiary.jp/entry/2015/05/28/071424
【複数のブックをひとつのブックにまとめる】【エクセル2013,VBA】 より
'-------------------------------------------------------------------------------

Sub シート集計()
    Dim i As Long, tst As String
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogOpen)
        .Title = "統合したいエクセルファイルを選択(+ctr or +shiftで複数選択)"
        .Filters.Add "Excelブック", "*.xls; *.xlsx; *.xlsm", 1
        .InitialFileName = ThisWorkbook.Path
        .AllowMultiSelect = True
        .Show
        For i = 1 To .SelectedItems.Count
            'フルパスからファイル名を取得する。
            tst = Dir(.SelectedItems(i))
            '選んだブックを順に開く
            Workbooks.Open Filename:=.SelectedItems(i)
            'シートは「すべて」コピーされる。
            Sheets.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
            'ブックを閉じる。
            Workbooks(tst).Close SaveChanges:=False
        Next
    End With
    Application.ScreenUpdating = True
End Sub

'-------------------------------------------------------------------------------------


同一フォルダにあるブック全てをまとめるなら
https://qiita.com/aki1275/items/19ebe6febb97565f4502
「VBAマクロでExcel複数ファイルを1つのファイルにまとめるやり方とTips」より
'-------------------------------------------------------------------------------------
Sub consolid()
    'このブックと同じフォルダの全ブックをまとめます
    Dim mb As Workbook
    Dim wb As Workbook
    Dim myfdr As String
    Dim fname As String
    Dim n As Long

    Application.ScreenUpdating = False
    Set mb = ThisWorkbook
    myfdr = ThisWorkbook.Path
    fname = Dir(myfdr & "\*.xls*")
    Do Until fname = Empty
        If fname <> mb.Name Then
           Set wb = Workbooks.Open(myfdr & "\" & fname)
           wb.Worksheets.Copy After:=mb.Sheets(mb.Sheets.Count)
           wb.Close
           n = n + 1
        End If
        fname = Dir
    Loop
    Application.ScreenUpdating = True
    MsgBox n & " object(s) is(are) copied."
End Sub
'--------------------------------------------------------------------------------------

    

31 ユーザーがこの回答を役に立ったと思いました。

·

この回答が役に立ちましたか?

お役に立てず、申し訳ございません。

素晴らしい! フィードバックをありがとうございました。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。

回答
回答
Enginner480907 さん、こんにちは。
マイクロソフト コミュニティへの投稿ありがとうございます。

複数の Excel ブックを自動で 1 つにまとめる方法についてのご質問ですね。

【Excel】別々のブックに保存されているシートを1つにまとめたい!異なるエクセルファイルへシートをコピーするテク

調べてみたところ上記のようなページがありましたが、これを自動で行うような処理にしたいということでしょうか。

その場合マクロや VBA を使うことで実現できそうにも思いますが、マイクロソフト コミュニティでは情報が集まりにくいので、VBA 専用トピックのある MSDN フォーラムに質問を投稿してみると良いかも知れません。

MSDN フォーラム - VBA トピック

よければご活用くださいね。
----------
近藤 茂 – Microsoft Support
[この回答で問題は解決しましたか?] にて評価にご協力をお願いします。

返信が問題解決に役立った場合は、 [はい] を押すことで回答とマークされます。

問題が未解決の場合や引き続きアドバイスを求める場合は、 [返信] からメッセージを送信してください。
[いいえ] を押しても、未解決であることは回答者には伝わりません。

15 ユーザーがこの回答を役に立ったと思いました。

·

この回答が役に立ちましたか?

お役に立てず、申し訳ございません。

素晴らしい! フィードバックをありがとうございました。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。おかげで、サイトの改善に役立ちます。

この回答にどの程度満足ですか?

フィードバックをありがとうございました。

 
 

質問情報


最終更新日: 2023年10月11日 表示数 51,651 適用先: