Sub エクセルファイルを開かずに抽出する_ExecuteExcel4Macro()
場所 = "C:\test\" 'ファイルを置いているフォルダをフルパスで指定
FILE名 = "test.xlsx" 'ファイル名と拡張子(.xlsx)を入力
Sheet名 = "Sheet1" 'シート名を指定する
'(書き方注意)Cells(1,3) → R1C3
Cells(1, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C1")
Cells(1, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C2")
Cells(1, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C3")
Cells(2, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R2C1")
Cells(2, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R2C2")
Cells(2, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R2C3")
Cells(3, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R3C1")
Cells(3, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R3C2")
Cells(3, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R3C3")
End Sub
Sub 複数のエクセルファイルを開かずに抽出する_ExecuteExcel4Macro()
場所 = "C:\test\" 'ファイルを置いているフォルダをフルパスで指定
Sheet名 = "Sheet1" 'シート名を指定する
FILE名 = Dir(場所 & "*.xlsx") 'Dirでエクセルファイル(.xlsx)を選択する
Do
行 = 行 + 1 'エクセルファイルを1個処理するごとに1行づつ下がっていく仕様
Cells(行, 1) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C1")
Cells(行, 2) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C2")
Cells(行, 3) = ExecuteExcel4Macro("'" & 場所 & "[" & FILE名 & "]" & Sheet名 & "'!R1C3")
ファイル名 = Dir() '次のファイルを取得する
Loop While ファイル名 <> "" '次のファイルがなくなるまでループする
End Sub
これで、数ファイルでも数百ファイルでも自動的に指定パスのすべてのファイルを
行を1個づつ下げながら内容を抽出していきます。
行を列に書き換えればどんどん右列に追記さえていく仕様も可能です。