nth09061985
Thành viên mới
![](/diendan/data/PhoToDanhHieu/gold.gif)
- Tham gia
- 19/7/13
- Bài viết
- 49
- Được thích
- 5
Công việc của em là: Em có 1 File "FileTongHop" và 2 File con:"File1" và "File2"(Có thể nhiều hơn). Trong cả 3 File này đều có 3 sheet có tên lần lượt là "A", "B", "C".
Em có viết đoạn code để tổng hợp tất cả dữ liệu từ 2 file con về File tổng nhưng sao chỉ có sheet A là được tổng hợp còn các sheet "B", "C" lại không được tổng hợp ạ!
Mong anh chị và các bạn giúp em:
+ Nếu có thể thì chỉ ra chỗ sai trong đoạn code của em và sửa giúp đoạn code trên giúp em với ạ!
+ Hoặc, nếu anh chị có giải pháp khác giúp đỡ em để phục vụ công việc của em với ạ!
Em có viết đoạn code để tổng hợp tất cả dữ liệu từ 2 file con về File tổng nhưng sao chỉ có sheet A là được tổng hợp còn các sheet "B", "C" lại không được tổng hợp ạ!
Mã:
Public Sub CapNhaT_NhieuSheet()
Dim DsFile As Variant
Dim j As Long, k As Long
Dim i As Long, LrTongHop As Long, LrFileCon As Long
Dim Wb As Workbook, WbTH As Workbook, Ws1 As Worksheet, Ws2 As Worksheet
Set WbTH = Workbooks("FileTongHop.xlsm")
DsFile = Application.GetOpenFilename("Excel FIles(*.xlsx),*.xlsx", MultiSelect:=True)
On Error Resume Next
Application.ScreenUpdating = False
For i = 1 To UBound(DsFile)
'MsgBox "i= " & i
Set Wb = Workbooks.Open(DsFile(i))
For j = 1 To Wb.Worksheets.Count
' MsgBox "j= " & j
LrFileCon = Wb.Worksheets(j).Range("A1000000").End(xlUp).Row
For k = 1 To WbTH.Worksheets.Count
Set Ws2 = Wb.Worksheets(j)
'MsgBox "Sheet" & Ws2.Name
Set Ws1 = WbTH.Worksheets(k)
'MsgBox "k= " & k
'MsgBox "Sheet" & Ws1.Name
If Ws1.Name = Ws2.Name Then
LrTongHop = Ws1.Range("A1000000").End(xlUp).Row + 1
Ws2.Range("A2:C" & LrFileCon).Copy Ws1.Range("A" & LrTongHop)
Wb.Close
End If
Next k
Next j
Next i
Application.ScreenUpdating = True
End Sub
+ Nếu có thể thì chỉ ra chỗ sai trong đoạn code của em và sửa giúp đoạn code trên giúp em với ạ!
+ Hoặc, nếu anh chị có giải pháp khác giúp đỡ em để phục vụ công việc của em với ạ!
Lần chỉnh sửa cuối: