Nhờ giúp đỡ: Code tổng hợp dữ liệu báo cáo. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

doivui14000

Thành viên chính thức
Tham gia
18/12/09
Bài viết
60
Được thích
1
Dear All. Nhờ các bác giúp đoạn code tổng hợp dữ liệu như trong file với. Mình muốn tổng hợp báo cáo số lượng hàng hóa, dữ liệu lấy theo mã hàng và đơn vị nhận như trong file
 
Dear All. Nhờ các bác giúp đoạn code tổng hợp dữ liệu như trong file với. Mình muốn tổng hợp báo cáo số lượng hàng hóa, dữ liệu lấy theo mã hàng và đơn vị nhận như trong file
Code theo mẫu của bạn ko biết tốc độ thế nào, nhưng mình nghĩ bạn có thể dùng Pivot cho lẹ
 
Upvote 0
Thanks bac nha. Cái này rất đúng ý em. Nhưng nếu file dữ liệu và file báo cáo muốn muon sửa tên thì thế nào. Cái này nó chạy vào file báo cáo.

Chạy code. Kết quả dán vào sheet trắng là Báo Cáo. Bạn thử dùng hàm tại sheet Tổng Hợp xem có đúng không rồi phản hồi...
Mã:
Public Sub GPE()
Dim Dic As Object, sArr, dArr
Dim I As Long, K As Long, N As Long, R As Long, T As Long
Set Dic = CreateObject("Scripting.Dictionary")
Application.ScreenUpdating = False
With Sheet6
    sArr = .Range("B14", .Range("B65000").End(3)).Resize(, 9).Value
End With
ReDim dArr(1 To UBound(sArr), 1 To 1000)
K = 2: N = 1
For I = 1 To UBound(sArr)
If sArr(I, 2) <> Empty Then
    If Not Dic.Exists(sArr(I, 2)) Then
        N = N + 1
        dArr(1, N) = sArr(I, 1)
        dArr(2, N) = sArr(I, 2)
        Dic.Add sArr(I, 2), N
    End If
    If sArr(I, 9) <> Empty Then
    If Not Dic.Exists(sArr(I, 9)) Then
        K = K + 1
        Dic.Add sArr(I, 9), K
        dArr(K, 1) = sArr(I, 9)
    End If
        R = Dic.Item(sArr(I, 9))
        T = Dic.Item(sArr(I, 2))
        dArr(R, T) = dArr(R, T) + sArr(I, 6)
    End If
End If
Next I
With Sheet5
    .Range("B1").Resize(K, N).Value = dArr
End With
Application.ScreenUpdating = True
Set Dic = Nothing
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom