- ベストアンサー
複数Excelファイルの一括インポートしたい。
複数Excelファイルがあります。(aaa.xls、bbb.xls・・・) 同フォルダ内にあるExcelファイル(20個ほど)を1つのファイルにしたいのですが、 手動コピペ以外の方法を教えていただけますでしょうか? できれば、マクロ、VBAでお願いします。 ワークシート名はすべて同じです。(Sheet1のみ取り込みたい(無理であれば他も取り込みしてもOK)) 1つのファイル内で横に並べるようにしたいです。(ファイル名か、Sheet1_1,Sheet1_2・・・) よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
下記ソースを適当なブックに貼り付け後、そのブックのセルA1に複数Excelファイルが入っているフォルダのパスを入力してから実行すれば動くと思います。 注意事項 1.フォルダ内の全てのExcelファイルを対象とします。(正確に言うとxlsという拡張子を持った全てのファイル) 2.新規ブックを作ってそこにシートをコピーしていくため、新規ブックを作ったときの空白シートが1~3枚程度作られますので、そこは手動で削除してください。もしくは自力でコードにしてください(引数なしでcopyメソッドを呼ぶとできます) ------------------------------------------ Sub 複数Excelファイルのシート1だけまとめる() Dim folderPath As String Dim fileName As String Dim wb As Workbook Dim importWb As Workbook Dim shCounter As Integer '処理対象のフォルダのパス folderPath = ActiveSheet.Cells(1, 1) fileName = Dir(folderPath & "\*.xls") Set importWb = Workbooks.Add shCounter = importWb.Sheets.Count Do Until fileName = "" Set wb = Workbooks.Open(folderPath & "\" & fileName) wb.Sheets(1).Copy after:=importWb.Sheets(shCounter) shCounter = shCounter + 1 'シート名をファイル名にする importWb.Sheets(shCounter).Name = wb.Name wb.Close SaveChanges:=False fileName = Dir Loop End Sub