📘 Excel逆引き事典

【VBA】特定のフォルダ内の全Excelファイルを外部参照で転記する方法

手作業で大量のExcelファイルから情報を抜き出すのは大変です。この記事では、特定フォルダ内の全Excelファイルを外部参照を使って一括処理し、効率化します。

サンプルコード

VBA
Option Explicit
Sub ImportDataFromFolder()
    Dim fso As Object, folder As Object, file As Object
    Dim wb As Workbook, ws As Worksheet
    Dim filePath As String, fileName As String
    
    ' フォルダパスを指定
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder("C:\path\to\your\folder")
    
    Application.ScreenUpdating = False
    For Each file In folder.Files
        If Right(file.Name, 4) = ".xls" Or Right(file.Name, 5) = ".xlsx" Then
            filePath = file.Path
            Set wb = Workbooks.Open(filePath)
            ' データを取得するシートと範囲を指定
            With wb.Sheets("Sheet1").Range("A1:B10")
                .Copy ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1, 0)
            End With
            wb.Close SaveChanges:=False
        End If
    Next file
    Application.ScreenUpdating = True
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。