
Gửi bởi
chuotchuix
nếu có danh sách 4 cột B--> E thì sẽ ko nói làm gì. tại sheet 1 -->sheet 12 mình ko biết có những mã nào trùng và các sheet ko biết có dữ liệu bằng nhau ko và các sheet nào có những dữ liệu nào. nên giờ mình muốn tự động sẽ trích dẫn dữ liệu từ cột B-->E từ 12 sheet đó và những dữ liệu nào trùng sẽ tự động cộng lại theo các cột và xuất hiện 1 còn mã nào ko trùng thì hiện bình thường
bạn kiểm tra nha, số gì mà quá trời, ai kiểm nổi
Mã:
Sub tonghop()
Dim arr As Variant, kq(1 To 60000, 1 To 17), i, j, k As Long, ws As Worksheet, d As Object
Set d = CreateObject("Scripting.Dictionary")
For Each ws In Worksheets
If ws.Name <> "tonghop" Then
With ws
lr = .[c10000].End(3).Row - 5
arr = .[a6].Resize(lr, 17).Value
End With
For i = 1 To UBound(arr)
If IsEmpty(arr(i, 1)) Then Exit For
If Not d.exists(arr(i, 1)) Then
k = k + 1
d.Add arr(i, 1), k
For j = 1 To 17
kq(k, j) = arr(i, j)
Next
Else
For j = 6 To 17
If IsNumeric(arr(i, j)) Then kq(d.Item(arr(i, 1)), j) = kq(d.Item(arr(i, 1)), j) + arr(i, j)
Next
End If
Next
End If
Next
If k Then
With Sheets("tonghop")
.[a5].Resize(10000, 17).Clear
.[a5].Resize(k, 17).Value = kq
End With
End If
End Sub