Em có nhờ làm đc 1 macro chạy, chức năng là tổng hợp dữ liệu từ các file được đặt trong 1 thư mục, setup sẵn đường link của thư mục nằm tại ô A1
Giờ em cần thay đổi cách nhập liệu này thành nhập theo file tùy chọn (nhập file mới nhưng dữ liệu cũ ko bị mất đi)
Nhờ mọi ng chỉnh lại giúp em ạ
Dưới đây là toàn bộ code của e, code hơi dài nhưng chủ yếu là lấy nhiều dữ liệu nên dài thôi ạ
Giờ em cần thay đổi cách nhập liệu này thành nhập theo file tùy chọn (nhập file mới nhưng dữ liệu cũ ko bị mất đi)
Nhờ mọi ng chỉnh lại giúp em ạ
Dưới đây là toàn bộ code của e, code hơi dài nhưng chủ yếu là lấy nhiều dữ liệu nên dài thôi ạ
Mã:
Sub test()
Dim FolderPath As String, FileName As String, strFileTarget As String
Dim wb As Excel.Workbook
Dim i As Integer, lastRow As Integer
Dim DataArr(18) As String
FolderPath = Range("A1").Value & "\" 'Duong dan thu muc do tim
FileName = Dir(FolderPath & "*.xls*") 'Tim trong thu muc tat ca cac file *.xls*
strFileTarget = "IMEX - 2018 - Hung.xlsm" 'Ten file macro chay
Set FSO = CreateObject("Scripting.FileSystemObject")
Application.ScreenUpdating = False
If FSO.FolderExists(FolderPath) Then
Do While FileName <> ""
If FileName <> strFileTarget Then
On Error Resume Next
Set wb = Workbooks.Open(FolderPath & FileName)
If Err.Number <> 0 Then: MsgBox ("Unable to open file " & FileName)
On Error GoTo 0
lastRow = Workbooks(strFileTarget).Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row
' Workbooks(FileName).Worksheets(1).Range(Cells(5, 2), Cells(10, 2)).Copy
' Workbooks(strFileTarget).Worksheets(1).Cells(lastRow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
DataArr(0) = Workbooks(FileName).Worksheets(1).Range("E4").Value: DataArr(1) = Workbooks(FileName).Worksheets(1).Range("I6").Value
DataArr(2) = Workbooks(FileName).Worksheets(1).Range("P6").Value: DataArr(3) = Workbooks(FileName).Worksheets(1).Range("G8").Value
DataArr(4) = Workbooks(FileName).Worksheets(1).Range("H23").Value: DataArr(5) = Workbooks(FileName).Worksheets(1).Range("D31").Value
DataArr(6) = Workbooks(FileName).Worksheets(1).Range("K36").Value: DataArr(7) = Workbooks(FileName).Worksheets(1).Range("P36").Value
DataArr(8) = Workbooks(FileName).Worksheets(1).Range("K37").Value: DataArr(9) = Workbooks(FileName).Worksheets(1).Range("P37").Value
DataArr(10) = Workbooks(FileName).Worksheets(1).Range("U35").Value: DataArr(11) = Workbooks(FileName).Worksheets(1).Range("J41").Value
DataArr(12) = Workbooks(FileName).Worksheets(1).Range("J45").Value: DataArr(13) = Workbooks(FileName).Worksheets(1).Range("D64").Value
DataArr(14) = Workbooks(FileName).Worksheets(1).Range("X171").Value: DataArr(15) = Workbooks(FileName).Worksheets(1).Range("P45").Value
DataArr(16) = Workbooks(FileName).Worksheets(1).Range("AB70").Value: DataArr(17) = Workbooks(FileName).Worksheets(1).Range("H68").Value
DataArr(18) = Workbooks(FileName).Worksheets(1).Range("H69").Value
For i = 0 To UBound(DataArr)
Workbooks(strFileTarget).Worksheets(1).Cells(lastRow + 1, i + 1).Value = "'" & Trim(DataArr(i))
Next
Workbooks(FileName).Close SaveChanges:=False
End If
FileName = Dir
Loop
Else
MsgBox folder & "Specified Folder Not Found", vbInformation, "Not Found!"
End If
MsgBox ("Well Done!")
Application.ScreenUpdating = True
End Sub