Nhờ giúp đỡ code sumifs

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Eric.Shen

Thành viên chính thức
Tham gia
26/1/23
Bài viết
74
Được thích
9
Chào các bác,
Em đang tìm hiểu về dic trong VBA, qua diễn đàn em có tham khảo được 1 đoạn code thay thế cho hàm sumif, tuy nhiên với trường hợp dữ liệu lặp lại thì nó lại chưa trả về kết quả.
Kính nhờ các bác giúp em sửa đoạn code để nó có thể chạy được ạ
Chi tiết em có gửi trong file đính kèm
Em cảm ơn ạ!
 

File đính kèm

  • test.xlsb
    18.1 KB · Đọc: 20
Góp vui thêm 1 cách nữa:

PHP:
Sub Thay_SUMIF2()
Dim i&, k&, rng, dic As Object
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1")
    rng = .Range("B3:C" & .Cells(Rows.Count, "B").End(xlUp).Row).Value
End With
For i = 1 To UBound(rng, 1)
    dic(rng(i, 1)) = dic(rng(i, 1)) + rng(i, 2)
    Next i
Sheets("Sheet2").Activate
With Range("A3")
    .Offset(, 1).Resize(dic.Count, 2).Value = WorksheetFunction.Transpose(Array(dic.Keys, dic.Items))
    .Resize(dic.Count, 1).Value = Evaluate("=row(1:" & dic.Count & ")")
End With
End Sub
 
Upvote 0
Góp vui thêm 1 cách nữa:

PHP:
Sub Thay_SUMIF2()
Dim i&, k&, rng, dic As Object
Set dic = CreateObject("Scripting.Dictionary")
With Sheets("Sheet1")
    rng = .Range("B3:C" & .Cells(Rows.Count, "B").End(xlUp).Row).Value
End With
For i = 1 To UBound(rng, 1)
    dic(rng(i, 1)) = dic(rng(i, 1)) + rng(i, 2)
    Next i
Sheets("Sheet2").Activate
With Range("A3")
    .Offset(, 1).Resize(dic.Count, 2).Value = WorksheetFunction.Transpose(Array(dic.Keys, dic.Items))
    .Resize(dic.Count, 1).Value = Evaluate("=row(1:" & dic.Count & ")")
End With
End Sub
Em cảm ơn bác nhiều ạ
 
Upvote 0
Web KT

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

Back
Top Bottom