これは、あなたがやろうとしていることへの良いリンクです。閉じたファイルから情報を取得する
開始するためのコードを次に示します。現在、シート 2 の「A1」から最初のファイル パスを取得し、「A2」からワークブック名を取得して、値をシート 1 の「A1」に返すように設定されています。これが機能したら、範囲をループして (設定方法によって異なります)、結果を表示する必要があります。
Sub ReadDataFromAllWorkbooksInFolder()
Dim FolderName As String, wbName As String, r As Long, cValue As Variant
Dim wbList() As String, wbCount As Integer, i As Integer
'Path from sheet two in macro book
FolderName = Worksheets(2).Range("A1").Text
'File Name from sheet two in macro book
Filename = Worksheets(2).Range("A2").Text
wbName = Worksheets(2).Range("A2").Text
cValue = GetValue(FolderName, wbName, "Sheet1", "A1")
Worksheets(1).Cells(1, 1).Formula = cValue
End Sub
Function GetValue(Path, File, Sheet, Ref)
'Retrieves a value from a closed workbook
Dim Arg As String
'Make sure the file exists
If Right(Path, 1) <> "\" Then Path = Path & "\"
If Dir(Path & File) = "" Then
GetValue = "File not Found"
Exit Function
End If
'Create the argument
Arg = "'" & Path & "[" & File & "]" & Sheet & "'!" & Range(Ref.Range("A1").Address(, , xlR1C1))
'Execute XLM macro
GetValue = ExecuteExcel4Macro(Arg)
End Function