VBA 複数ブックを一つに

エクセルを使用していると複数ブックを取り込んで処理をしたいことが多々あります。

3つや4つのブックであれば、普通に行えばいいですが、20や30もあると大変です。

そこで簡単に複数ブックを取り込んだり削除するマクロ/VBAを作成しましたので

公開します。汎用的に作成しましたのでご都合がよろしければご利用くさい。

サンプル

Sub エクセルファイル読み込み()
   With Application.FileDialog(msoFileDialogOpen)
     .InitialFileName = ThisWorkbook.Path
     .AllowMultiSelect = True
     .Show

     For i = 1 To .SelectedItems.Count

        Workbooks.Open Filename:=.SelectedItems(i)

        Sheets.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

        CloseBookName = Mid(.SelectedItems(i), InStrRev(.SelectedItems(i), "\") + 1)
        Workbooks(CloseBookName).Close SaveChanges:=False

     Next
  End With
  Sheets(1).Select
End Sub
Sub シート削除()
    Application.DisplayAlerts = False
    A = Sheets.Count
    For i = 2 To A
        Sheets(2).Delete
    Next
    Application.DisplayAlerts = True
End Sub

もっとシンプルに美しく書く方法がありましたら、コメントをお願いします。

   このエントリーをはてなブックマークに追加