Nhờ các thầy, các anh (chị) giúp em bài tổng hợp dữ liệu từ nhiều file (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

namkpac

Thành viên thường trực
Tham gia
25/11/08
Bài viết
279
Được thích
9
Nhờ các thầy, các anh (chị) giúp em bài tổng hợp dữ liệu từ nhiều file với ạ. Em có gửi file lên ạ xin nhờ giúp đỡ. em có tham khảo nhiều cách nhưng còn chưa áp dụng được cái nào. em có chạy ghi 1 macro cũng loay hoay tìm cách viết cho gọn nhưng báo lỗi. Yêu cầu là:
1. Mở file tổng hợp, bấm nút tổng hợp thì hiện đường dẫn để chọn các file con cần tổng hợp (biểu tổng hợp ở các sheet là giống nhau) giống kiểu consolidate sử dụng hàm sum ạ.
2. Tổng hợp theo thứ tự sheet 1 của tất cả các file vào sheet 1 file tổng hợp, rồi đến sheet 2 của tất cả sheet 2 của tất cả các file vào sheet 2 file tổng hợp, đến sheet 3, 4,...
3. Ở trong bài nếu em muốn dùng mảng là define name thì code sử dụng cho define name mình viết thế nào ạ?
em đang loay hoay tìm học mà chưa được mong các anh chị, các thầy chỉ bảo giúp.
 

File đính kèm

Sub Macro2()
'
' Macro2 Macro
'

Range("C6").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet1'!R6C3:R13C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet1'!R6C3:R13C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet1'!R6C3:R13C8"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Range("C16").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet1'!R6C3:R13C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet1'!R16C3:R22C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet1'!R6C3:R13C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet1'!R16C3:R22C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet1'!R6C3:R13C8", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet1'!R16C3:R22C8"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Sheets("Sheet2").Select
ActiveWindow.SmallScroll Down:=-18
Range("C8").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet2'!R8C3:R15C6", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet2'!R8C3:R15C6", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet2'!R8C3:R15C6"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Range("C17").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet2'!R18C3:R22C6", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet2'!R18C3:R22C6", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet2'!R18C3:R22C6"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Sheets("Sheet3").Select
Range("C8").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet3'!R8C3:R21C14", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet3'!R8C3:R21C14", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet3'!R8C3:R21C14"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Sheets("Sheet4").Select
Range("D7").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet4'!R7C4:R11C15", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet4'!R7C4:R11C15", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet4'!R7C4:R11C15"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Range("D13").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet4'!R13C4:R17C15", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet4'!R13C4:R17C15", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet4'!R13C4:R17C15"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
ActiveWindow.SmallScroll Down:=3
Range("D19").Select
Selection.Consolidate Sources:=Array( _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 1.xlsx]Sheet4'!R19C4:R23C15", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 2.xlsx]Sheet4'!R19C4:R23C15", _
"'C:\Users\USER\Desktop\Thu nghiem\[Du lieu 3.xlsx]Sheet4'!R19C4:R23C15"), _
Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
Windows("Du lieu 3.xlsx").Activate
Windows("Tong hop.xlsm").Activate
Sheets("Sheet1").Select
End Sub

Đây là macro em ghi lại giờ em muốn tối ưu nó bằng cách
1. em chọn đường dẫn đến các file
2. em consolidate từng mảng như vậy
và 3. em muốn dùng define name để thay cho từng mảng đó thì viết thế nào? Kính mong quý thầy, cô, anh, chị giúp em với!
 
Upvote 0
Kính mong các thầy, các anh chị giúp e làm gọn đoạn code này với
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom