Tìm code sai khi dùng dic, sai chỗ cộng dồn

Liên hệ QC

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,061
Được thích
175
Em có code
Mã:
Sub BBLV_AT()
    Dim Dic1 As Object, iRow As Long, i As Long, k, dK, a, EndR
    Dim Arr() As Variant, TmpArr As Variant
    With Sheets("Sheet1")
        .Range("N5:W100").Clear
        Set Dic1 = CreateObject("Scripting.Dictionary")                                   'Tao Dic
     
        EndR = .Range("B" & Rows.Count).End(xlUp).Row
        TmpArr = Range("B5:K" & EndR).Value

        ReDim Arr(1 To UBound(TmpArr, 1), 1 To 10)                                       'Xac dinh Kich thuoc mang Arr dua tren mang TmpArr
        For iRow = 1 To UBound(TmpArr, 1)
            dK = TmpArr(iRow, 1) & "#" & TmpArr(iRow, 9)
            If Not IsEmpty(dK) And Not Dic1.Exists(dK) Then
                i = i + 1
                Dic1.Add dK, i
                Arr(i, 1) = TmpArr(iRow, 1)                           'Ma VT
                Arr(i, 2) = TmpArr(iRow, 2)                            'Ten Vat
                Arr(i, 9) = TmpArr(iRow, 9)
                Arr(i, 10) = TmpArr(iRow, 10)

                a = Dic1.Item(dK)

            Else
                Arr(a, 10) = Arr(a, 10) + TmpArr(iRow, 10)
            End If
        Next iRow
        .Range("n5").Resize(i, 10).Value = Arr

    End With
End Sub
Code này em sửa lại của 1 bạn
Nhưng nó bị sai khi tính cộng dồn Thành tiền theo Mã VT và đơn giá
cụ thể kết quả ở W5 và W6 sai so với tính theo hàm sumifs cho kết quả ở X5 và X6
Em tìm hoài nhưng không thấy sai chỗ nào nhờ anh chị chỉ giúp. em cảm ơn!
 

File đính kèm

Web KT

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

Back
Top Bottom