|
- Sub test()
- Dim arr, brr(1 To 1000, 1 To 6), k As Integer, i As Integer, n As Integer
- Dim d
-
- Set d = CreateObject("scripting.dictionary")
- arr = Sheets("入库明细").Range("A1").CurrentRegion
- For k = 2 To UBound(arr)
- If Not d.exists(arr(k, 4) & arr(k, 5)) Then
- i = i + 1
- d(arr(k, 4) & arr(k, 5)) = i
- brr(i, 1) = arr(k, 4): brr(i, 2) = arr(k, 5)
- brr(i, 3) = arr(k, 6): brr(i, 4) = arr(k, 7)
- brr(i, 5) = arr(k, 9): brr(i, 6) = arr(k, 10)
- Else
- n = d(arr(k, 4) & arr(k, 5))
- brr(n, 5) = brr(n, 5) + arr(k, 9)
- If arr(k, 10) > brr(n, 6) Then brr(n, 6) = arr(k, 10)
- End If
- Next k
- Sheets("分析表").Range("a1:f1") = Array("订单", "物料编码", "名称", "图号", "入库数量汇总", "最后入库日期")
- Sheets("分析表").Range("a2:f1000").ClearContents
- Sheets("分析表").Range("a2").Resize(i, 6) = brr
- End Sub
复制代码 |
|