Tổng hợp nhiều files về nhiều sheets

  • Thread starter Thread starter namkpac
  • Ngày gửi Ngày gửi
Liên hệ QC

namkpac

Thành viên thường trực
Tham gia
25/11/08
Bài viết
279
Được thích
9

File đính kèm

Nhờ các anh (chị) trên diễn đàn giúp sửa code ngắn hơn bằng cách dùng vòng lặp, chứ trong code em mượn thì có thêm with...end with.
code và file có mượn của anh anhtuan1066 và thêm with...end with, thay vì dùng with...end with thì mình làm thế nào?
bài mượn và tham khảo tại đây: https://www.giaiphapexcel.com/diendan/threads/Đố-vui-về-vba.7146/page-17#post-253055
Mô tả khó hiểu quá bạn à! Muốn làm cái gì cứ nói rõ. Tôi đoán là bạn muốn:
- Tổng hợp sheet1 của tất cả các file con về sheet1 file TongHop
- Tổng hợp sheet2 của tất cả các file con về sheet2 file TongHop
- Tổng hợp sheet3 của tất cả các file con về sheet3 file TongHop
Đúng không? Code vầy:
Mã:
Sub Test()
  Dim Folder As String, ShName As String, SrcRng As String
  Dim idx As Long
  With CreateObject("Shell.Application")
    On Error Resume Next
    Folder = .BrowseForFolder(0, "", 1).Self.Path
  End With
  For idx = 1 To 3
    ShName = "Sheet" & idx: SrcRng = "A2:B30"
    Sheets(ShName).Range("A2:B1000").ClearContents
    ConsolMutiFiles Folder, ShName, SrcRng, Sheets(ShName).Range("A2")
  Next
End Sub
 
Upvote 0
Mô tả khó hiểu quá bạn à! Muốn làm cái gì cứ nói rõ. Tôi đoán là bạn muốn:
- Tổng hợp sheet1 của tất cả các file con về sheet1 file TongHop
- Tổng hợp sheet2 của tất cả các file con về sheet2 file TongHop
- Tổng hợp sheet3 của tất cả các file con về sheet3 file TongHop
Đúng không? Code vầy:
Mã:
Sub Test()
  Dim Folder As String, ShName As String, SrcRng As String
  Dim idx As Long
  With CreateObject("Shell.Application")
    On Error Resume Next
    Folder = .BrowseForFolder(0, "", 1).Self.Path
  End With
  For idx = 1 To 3
    ShName = "Sheet" & idx: SrcRng = "A2:B30"
    Sheets(ShName).Range("A2:B1000").ClearContents
    ConsolMutiFiles Folder, ShName, SrcRng, Sheets(ShName).Range("A2")
  Next
End Sub
Em cảm ơn anh ndu96081631! hoàn toàn đúng với câu hỏi. Có thể cách diễn đạt câu hỏi của em nó không đi vào cụ thể mong anh thông cảm vì phải để anh suy luận.
Với vấn đề này em muốn hỏi thêm là nếu vùng dữ liệu của từng sheet trong từng file là khác nhau thì việc mình sử dụng for...next như vậy sẽ cho kết quả không đúng và em đã đùng with...end with cho từng sheet duyệt qua từng file.
Vấn đề em muốn hỏi là mình không phải mở đường dẫn lên nữa mà cứ chạy duyệt qua từng sheet đến sheet cuối cùng vì có thể sẽ có nhiều file và nhiều sheet con.
Em cũng có tham khảo bài anh viết ở đây, cách này rất hay nhưng dùng cho các sheet trong 1 file ý em muốn áp dụng cho trường hợp bài này nhưng không biết thêm bớt code chỗ nào và không động chạm vào nguyên mẫu code của anh https://www.giaiphapexcel.com/diend...ng-nguồn-cho-consolidate-bằng-cách-nào.20839/
 
Upvote 0
Web KT

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

Back
Top Bottom