Sub GopFiles()
Dim x As Integer, directory As String, fileName As String, wb As Workbook
Dim ws As Worksheet, lc As Long, lr As Long, lr2 As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
directory = (ThisWorkbook.Path & "\")
fileName = Dir(directory & "*.xlsx")
Set ws = ThisWorkbook.Sheets(1)
Do While fileName <> ""
Set wb = Workbooks.Open(directory & fileName)
If x = 0 Then
wb.Sheets(1).UsedRange.Copy ws.Range("A1")
lc = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
lr = ws.UsedRange.Rows.Count
If ws.Cells(1, lc).Value <> "Tên Sheet" Then
ws.Cells(1, lc + 1).Value = "Tên Sheet"
ws.Cells(2, lc + 1).Resize(lr - 1).Value = ActiveSheet.Name
End If
If ws.Cells(1, lc).Value <> "Tên file" Then
ws.Cells(1, lc + 2).Value = "Tên file"
ws.Cells(2, lc + 2).Resize(lr - 1).Value = fileName
End If
Else
lr = ws.UsedRange.Rows.Count
wb.Sheets(1).UsedRange.Offset(1).Copy ws.Range("A" & lr + 1)
lr2 = wb.Sheets(1).UsedRange.Rows.Count
lc = ws.Cells(lr + 1, ws.Columns.Count).End(xlToLeft).Column
ws.Cells(lr + 1, lc + 1).Resize(lr2 - 1).Value = ActiveSheet.Name
ws.Cells(lr + 1, lc + 2).Resize(lr2 - 1).Value = fileName
End If
wb.Close False
x = x + 1
fileName = Dir()
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub