上の認識が正しい場合、2回目以降のタイトル行を書き出さない案
Sub test()
Dim path, fso, file, files
Dim Wb As Workbook
Dim LastRow_Wb As Long
Dim TargetWB As Workbook
Dim RwCount As Long
'マクロファイルを変数格納
Set Wb = ThisWorkbook
'読み取るファイル格納先
path = "\\共有\data"
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(path).files
'貼り付け開始位置
LastRow_Wb = 1
Application.ScreenUpdating = False
'フォルダ内の全ファイルについて処理
For Each file In files
'エクセルファイルだったら処理を進める
If fso.GetExtensionName(file) = "xlsx" Then
'エクセルファイルを読み取り専用で開く
Set TargetWB = Workbooks.Open(file, , True)
'セルA1からD列の最終行までコピー(但し、2回目はA2からD列)
With TargetWB.ActiveSheet
RwCount = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(IIf(LastRow_Wb = 1, 1, 2), 1), .Cells(RwCount, 4)).Copy
'データを値貼り付け
Wb.ActiveSheet.Cells(LastRow_Wb, 1).PasteSpecial Paste:= _
xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Wb.ActiveSheet.Cells(IIf(LastRow_Wb = 1, 2, LastRow_Wb), 5).Resize(RwCount - 1) = TargetWB.Name
End With
'最終行取得
LastRow_Wb = Wb.ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
'開いた読み取り専用ファイルを保存せず閉じる
TargetWB.Close False
End If
Next file
Application.ScreenUpdating = True
MsgBox "完了"
End Sub