- Sub gj23w98()
- Dim brr(1 To 9999, 1 To 6)
- Set d = CreateObject("scripting.dictionary")
- arr = Sheet2.[c2].CurrentRegion
- For i = 2 To UBound(arr)
- If Len(arr(i, 2)) = 0 Then arr(i, 2) = arr(i - 1, 2)
- If Len(arr(i, 5)) = 0 Then arr(i, 5) = arr(i - 1, 5)
- s = arr(i, 2) & arr(i, 3)
- If Not d.exists(s) Then
- m = m + 1
- d(s) = m
- brr(m, 1) = arr(i, 2)
- brr(m, 2) = arr(i, 3)
- brr(m, 3) = arr(i, 5)
- brr(m, 4) = arr(i, 7)
- brr(m, 5) = arr(i, 8)
- brr(m, 6) = arr(i, 10)
- Else
- brr(d(s), 5) = brr(d(s), 5) + arr(i, 8)
- brr(d(s), 6) = brr(d(s), 6) + arr(i, 10)
- End If
- Next
- If m Then
- [b3].CurrentRegion.ClearContents
- [b3:g3] = Array("名称", "规格型号", "位置", "单位", "数量", "合价")
- [b4].Resize(m, 6) = brr
- End If
- End Sub
复制代码 |