Public Sub GetDataFiles()
Application.ScreenUpdating = False
On Error Resume Next
Dim Res(), Arr(), i As Long, j As Long, k As Long, Fullpath As String, FilePath As String
Fullpath = "'" & ThisWorkbook.Path & "\[TongHop.xls]THA'!"
Rows(1).End(2) = "=IFERROR(LOOKUP(2,1/(" & Fullpath & "A1:A65536<>""""),ROW(1:65536)),0)"
FilePath = "=" & Fullpath & "A10:DY" & Rows(1).End(2)
With Range("B9").Range("A10:DY" & Rows(1).End(2))
.FormulaArray = FilePath
Res = .Value
.ClearContents
End With
ReDim Preserve Arr(1 To UBound(Res), 1 To 12)
For i = 1 To UBound(Res)
If Res(i, 128) <> Empty Then
k = k + 1
Arr(k, 1) = k
For j = 10 To 13
Arr(k, j - 8) = Res(i, j)
Next
Arr(k, 6) = Res(i, 128)
Arr(k, 7) = Res(i, 2)
Arr(k, 8) = Res(i, 31)
Arr(k, 9) = Res(i, 40) + Res(i, 49) + Res(i, 59) + Res(i, 66)
Arr(k, 10) = Res(i, 91)
Arr(k, 12) = Res(i, 129)
If Res(i, 98) = 1 Then Arr(k, 10) = "1. A"
If Res(i, 99) = 1 Then Arr(k, 10) = "2. B"
If Res(i, 100) = 1 Then Arr(k, 10) = "3. C"
If Res(i, 101) = 1 Then Arr(k, 10) = "4. D"
If Res(i, 102) = 1 Then Arr(k, 10) = "5. E"
If Res(i, 103) = 1 Then Arr(k, 10) = "6. G"
If Res(i, 105) = 1 Then Arr(k, 10) = "7. T"
If Res(i, 89) = 1 Then Arr(k, 10) = "8. L"
If Res(i, 89) = 2 Then Arr(k, 10) = "8. M"
If Res(i, 106) = 1 Then Arr(k, 10) = "10. R"
End If
Next
If k Then Range("A9").Resize(k, 12).Value = Arr
Rows(1).End(2).Clear
Application.ScreenUpdating = True
End Sub