Tổng hợp cộng dữ liệu từ nhiều file vào 1 file

Liên hệ QC

phuocrobe

Thành viên hoạt động
Tham gia
2/11/16
Bài viết
131
Được thích
0
Một file dữ liệu của mình gồm có 2 sheet và mình muốn tạo 1 file TongHop.xls để cộng tất cả dữ liệu từ 2 sheet của từng file vào 2 sheet tương tự ở file TongHop.xls
Do số lượng file để tổng hợp không cố định nên ở file TongHop.xls mình có tạo 1 sheet HUONDAN để nhập tên file vào đó từ vùng B5:B34 (trong bài viết có giới hạn nên mình chỉ post 3 file).
Làm sao để khi nhấn nút TổngHợp ở sheet M01 của file TổngHợp thì sẽ cộng dữ liệu của các file có tên ở sheet HUONGDAN vào file TongHop.xls
Cụ thể:
'[Tong Hop.xls]M01'!$C$11 = '[file1.xls]M01'!$C$11 + '[file2.xls]M01'!$C$11 , tương tự cho các ô từ C11:N26 ở sheet M01
'[Tong Hop.xls]M01.1'!$C$14 = '[file1.xls]M01.1'!$C$14 + '[file2.xls]M01.1'!$C$14 , tương tự cho các ô từ C11:O26 ở sheet M02
(cộng các ô có tô màu nền, và những ô có tô màu nền này đều ở vị trí cố định tại các file tương tự nhau)
Nhờ các anh chị giúp mình với nhé.
Em xin cám ơn rất nhiều ạ.
 
Lần chỉnh sửa cuối:
Liệu VBA có thể làm được điều này không ạ? Các anh chị cho em biết với ạ. Em còn gà lắm ạ @!##
 
Upvote 0
Làm sao để khi nhấn nút TổngHợp, sẽ cộng tất cả các ô mà mình đã có tô sẵn màu nền ở tất cả 19 sheet của 30 file tương tự như thế

Cộng xong, đem đi đâu? Dữ liệu của bạn nhiều nên nhìn đã ngại, lại còn khó hiểu.
Bạn ghi lại yêu cầu cho rõ và mình nghĩ bạn nên hạn chế ở 1 hoặc 2 sheet. sau khi moi người giúp, bạn triển khai ra các sheet còn lại
 
Upvote 0
ok bạn , cám ơn bạn đã góp ý nha, mình đã sửa lại rồi nhé, bạn giúp mình với nhé
Làm sao để khi nhấn nút TổngHợp, sẽ cộng tất cả các ô mà mình đã có tô sẵn màu nền ở tất cả 19 sheet của 30 file tương tự như thế

Cộng xong, đem đi đâu? Dữ liệu của bạn nhiều nên nhìn đã ngại, lại còn khó hiểu.
Bạn ghi lại yêu cầu cho rõ và mình nghĩ bạn nên hạn chế ở 1 hoặc 2 sheet. sau khi moi người giúp, bạn triển khai ra các sheet còn lại
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn lưu file này và 3 file 1,2,3 vào cùng 1 thư mục nhé,
Mình làm mẫu cho sheet M01.
 

File đính kèm

  • Tong Hop.xls
    93.5 KB · Đọc: 33
Upvote 0
Mình gộp thêm code mẫu M01.1 vào chung code ban đầu như thế này có được không bạn? Sao khi chạy code nó giật màn hình quá, có thể nào tối ưu để nó khỏi giật được không vậy bạn?
Sub CongM01()Sheets("M01").Range("C11:N26").ClearContents
arr = Sheets("M01").Range("C11:N26").Value
For iws = 5 To 7 ' cho nay thay thanh 34 neu copy ca 30 files
fname = ThisWorkbook.Path & "" & Sheet1.Range("B" & iws).Value
With Application.Workbooks.Open(fname)
arrcopy = .Sheets("M01").Range("C11:N26").Value
.Close fale
End With
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
arr(i, j) = arr(i, j) + arrcopy(i, j)
Next j
Next i
Next iws
Sheets("M01").Range("C11").Resize(UBound(arr, 1), UBound(arr, 2)) = arr




Sheets("M01.1").Range("C4:C29").ClearContents
arr = Sheets("M01.1").Range("C4:C29").Value


For iws = 5 To 7 ' cho nay thay thanh 34 neu copy ca 30 files
fname = ThisWorkbook.Path & "" & Sheet1.Range("B" & iws).Value
With Application.Workbooks.Open(fname)
arrcopy = .Sheets("M01.1").Range("C4:C29").Value
.Close fale
End With
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
arr(i, j) = arr(i, j) + arrcopy(i, j)
Next j
Next i
Next iws
Sheets("M01.1").Range("C4").Resize(UBound(arr, 1), UBound(arr, 2)) = arr


End Sub
Bạn lưu file này và 3 file 1,2,3 vào cùng 1 thư mục nhé,
Mình làm mẫu cho sheet M01.
 
Upvote 0
PHP:
 Sao khi chạy code nó giật màn hình quá, có thể nào tối ưu để nó khỏi giật được không vậy bạn?
Mở từng file lấy dữ liệu, xong đóng lại, làm sao không "cà giựt" được.
Cũng làm như trên nhưng thử file này coi có đỡ "cà giựt" không.
File Tổng và các file con phải chung 1 Folder.
(Có lẽ các bạn khác dùng ADO sẽ bớt "Cà giựt")
 

File đính kèm

  • Tong Hop.rar
    19.3 KB · Đọc: 54
Upvote 0
hi, mình không học chính qui nên code cóp nhặt. ADO không quen dùng nên code cà giật là đúng rồi. Thanks bate nhe.
 
Upvote 0
Rất chuẩn luôn ạ. File chạy rất nhanh, cám ơn bạn nhiều nha )(&&@@ Giờ mình phải thêm 17 sheet vào và code thử xem sao nè. HI
PHP:
 Sao khi chạy code nó giật màn hình quá, có thể nào tối ưu để nó khỏi giật được không vậy bạn?
Mở từng file lấy dữ liệu, xong đóng lại, làm sao không "cà giựt" được.
Cũng làm như trên nhưng thử file này coi có đỡ "cà giựt" không.
File Tổng và các file con phải chung 1 Folder.
(Có lẽ các bạn khác dùng ADO sẽ bớt "Cà giựt")
 
Upvote 0
Các sheet khác tương tự mình làm được rồi, nhưng có 1 sheet này phức tạp hơn 1 chút, mình mò mãi mà không ra nên nhờ bạn code dùm mình với nhé.
Ở sheet M06, dữ liệu sẽ được cập nhật vào vùng C16:S44 (dành cho 30 file, dữ liệu từ mỗi file sẽ cập nhật vào 1 dòng chứ không cộng dồn lại như các sheet trước)
Cụ thể: cập nhật dữ liệu từ [file1.xls]M06!C16:S16 sang '[Tong Hop.xls]M06'!C16:S16
Tương tự, cập nhật dữ liệu từ [file2.xls]M06!C16:S16 sang '[Tong Hop.xls]M06'!C17:S17
PHP:
 Sao khi chạy code nó giật màn hình quá, có thể nào tối ưu để nó khỏi giật được không vậy bạn?
Mở từng file lấy dữ liệu, xong đóng lại, làm sao không "cà giựt" được.
Cũng làm như trên nhưng thử file này coi có đỡ "cà giựt" không.
File Tổng và các file con phải chung 1 Folder.
(Có lẽ các bạn khác dùng ADO sẽ bớt "Cà giựt")
 
Lần chỉnh sửa cuối:
Upvote 0
Có anh chị nào có thể giúp mình giải quyết vấn đề này không nhỉ, em xin chân thành cám ơn ạ
 
Upvote 0
Bạn ơi, mình mới tham gia diễn đàn nên còn gà lắm, bạn giúp mình nốt phần này nữa thôi dc chứ bạn? Cám ơn bạn nhiều nha &&&%$R
PHP:
 Sao khi chạy code nó giật màn hình quá, có thể nào tối ưu để nó khỏi giật được không vậy bạn?
Mở từng file lấy dữ liệu, xong đóng lại, làm sao không "cà giựt" được.
Cũng làm như trên nhưng thử file này coi có đỡ "cà giựt" không.
File Tổng và các file con phải chung 1 Folder.
(Có lẽ các bạn khác dùng ADO sẽ bớt "Cà giựt")
 
Upvote 0

File đính kèm

  • Tong Hop.rar
    25.5 KB · Đọc: 19
Upvote 0
Mình còn 1 vấn đề này bạn giúp mình với nhé.
Ở sheet M06 của file TongHop.xls mình muốn lấy dữ liệu từ B15:S44 ở sheet M06 của file1.xls cập nhật vào vùng B15:S44 ở sheet M06 của TongHop.xls , sau đó lấy dữ liệu từ B15:S44 ở sheet M06 của file2.xls cập nhật vào vùng tiếp theo bên dưới là B45:S74 ở sheet M06 của TongHop.xls và cứ tiếp tục như vậy cho các file còn lại.
(Nghĩa là sẽ cập nhật dữ liệu của file tiếp theo vào vùng tiếp theo ở bên dưới vùng dữ liệu vừa được cập nhật vào file TongHop.xls)
Cám ơn bạn nhiều nhé @$@!^%
Đây là file đã chỉnh code, lấy dữ liệu sheet M06 của các file.
 
Upvote 0
Vì dữ liệu mình nhiều biểu mẫu quá nên mình chỉ up lên vài điều kiện để nhờ anh chị giúp và từ đó sẽ tự chỉnh sửa cho các biểu khác ở file gốc nhưng hôm nay lại phát sinh trường hợp mới ở biểu mẫu khác nên thật sự rất cần các anh chị giúp đỡ mình với.

Ở sheet M06 của file TongHop.xls mình muốn cập nhật vùng dữ liệu từ
B15:S44 ở sheet M06 của file1.xls, tiếp đó sẽ cập nhật dữ liệu từ B15:S44 ở sheet M06 của file2.xls cập nhật vào vùng tiếp theo bên dưới là B45:S74 ở sheet M06 của TongHop.xls và cứ tiếp tục như vậy cho các file còn lại, cập nhật dữ liệu từ B15:S44 ở sheet M06 của file3.xls cập nhật vào vùng tiếp theo bên dưới là B75:S124...

Em xin chân thành cám ơn rất nhiều ạ !
Đây là file đã chỉnh code, lấy dữ liệu sheet M06 của các file.
 
Upvote 0
Vì dữ liệu mình nhiều biểu mẫu quá nên mình chỉ up lên vài điều kiện để nhờ anh chị giúp và từ đó sẽ tự chỉnh sửa cho các biểu khác ở file gốc nhưng hôm nay lại phát sinh trường hợp mới ở biểu mẫu khác nên thật sự rất cần các anh chị giúp đỡ mình với.

Ở sheet M06 của file TongHop.xls mình muốn cập nhật vùng dữ liệu từ
B15:S44 ở sheet M06 của file1.xls, tiếp đó sẽ cập nhật dữ liệu từ B15:S44 ở sheet M06 của file2.xls cập nhật vào vùng tiếp theo bên dưới là B45:S74 ở sheet M06 của TongHop.xls và cứ tiếp tục như vậy cho các file còn lại, cập nhật dữ liệu từ B15:S44 ở sheet M06 của file3.xls cập nhật vào vùng tiếp theo bên dưới là B75:S124...

Em xin chân thành cám ơn rất nhiều ạ !

Bạn hỏi tiếp chuyện khác thì phải có File của chuyện khác kèm theo.
File1, File 2 là file nào, muốn tìm lại file của các bài viết bên trên (#12) thì dữ liệu đâu có giống với câu hỏi của bạn.
Người khác phải tự tạo dữ liệu để kiểm tra code sao?
 
Upvote 0
Cám ơn bạn đã góp ý, mình cứ tưởng file trước có dữ liệu rồi nên quên up file à. Nhờ bạn giúp mình vụ này nữa nha, cám ơn bạn nhiều à.
Bạn hỏi tiếp chuyện khác thì phải có File của chuyện khác kèm theo.
File1, File 2 là file nào, muốn tìm lại file của các bài viết bên trên (#12) thì dữ liệu đâu có giống với câu hỏi của bạn.
Người khác phải tự tạo dữ liệu để kiểm tra code sao?
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom