unote 書けば書くほどに

VBA MergeExcel

■VLOOKUPで抽出
=VLOOKUP(B14,INDIRECT(C$13&$B$12),2,FALSE)

VBA
Sub MergeExcelFiles()
Dim folderPath As String
Dim fileName As String
Dim wbSource As Workbook
Dim wbDest As Workbook
Dim wsSource As Worksheet
Dim wsDest As Worksheet

' フレーム.xlsmのファイルパスを取得
folderPath = ThisWorkbook.Path & "\"


' フォルダ内のExcelファイルを順に処理
fileName = Dir(folderPath & "*.xlsx")
Do While fileName <> ""
' ファイルを開く

'画面更新停止
Application.ScreenUpdating = False

Set wbSource = Workbooks.Open(folderPath & fileName)

' 各シートを取り込む
For Each wsSource In wbSource.Sheets
On Error Resume Next
Set wsDest = ThisWorkbook.Sheets(wsSource.Name)
On Error GoTo 0

' 同名のシート場合のみ追加
If wsSource.Name = Left(fileName, Len(fileName) - 5) Then
' 既存の同名シートを削除
Application.DisplayAlerts = False
ThisWorkbook.Sheets(wsSource.Name).Delete
Application.DisplayAlerts = True

' シートをコピー
wsSource.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next wsSource

' ファイルを閉じる
wbSource.Close SaveChanges:=False

'画面更新再開
Application.ScreenUpdating = True

' 次のファイルを取得
fileName = Dir
Loop

ThisWorkbook.Sheets(1).Select

' 完了メッセージを表示
MsgBox "シートの取り込みが完了しました。"
End Sub