sealand
Thành viên gạo cội




- Tham gia
- 16/5/08
- Bài viết
- 4,883
- Được thích
- 7,688
- Giới tính
- Nam
- Nghề nghiệp
- Kế Toán
Theo mình KhanHa nên chuyển Code như sau dễ hiệu chỉnh và điều khiển cộng dữ liệu vì ta dùng luôn Item của Dic tính giá trị Tổng luôn
Mã:
Private Sub CommandButton1_Click()
Dim Data1, Data2, i, j
Data1 = [A5].Resize(65000, 12).Value
Data2 = [M5].Resize(65000, 12).Value
With CreateObject("scripting.dictionary")
For i = 1 To UBound(Data1, 1)
For j = 1 To UBound(Data1, 2)
If Data1(i, j) <> "" Then
If Not .Exists(Data1(i, j)) Then
.Add Data1(i, j), Data2(i, j)
Else
.item(Data1(i, j)) = .item(Data1(i, j)) + Data2(i, j)
End If
End If
Next
Next
Range("Y5:Y" & [Y5].End(xlDown).Row).ClearContents
[Y5].Resize(.Count) = Application.Transpose(.keys)
[Z5].Resize(.Count) = Application.Transpose(.Items)
End With
End Sub
Lần chỉnh sửa cuối: