|
本帖最后由 JLxiangwei 于 2011-11-17 12:23 编辑
auqfbgjw 发表于 2011-11-17 08:44
楼上的好,水平好高。现在把附件的格式修改了,列出增加了,麻烦您帮我弄一下吧。昨天编出来数据好像一个客 ...
- Sub aa()
- Dim arr3, arr2, arr, arr1(1 To 10000, 1 To 7), x, y, z, k, D, m, n
- Set D = CreateObject("Scripting.Dictionary")
- arr3 = Range("a1:g1")
- arr2 = Range("e" & Range("e65536").End(xlUp).Row & ":g" & Range("g65536").End(xlUp).Row)
- arr = Range("a2:g" & Range("b65536").End(xlUp).Row)
- Range("i1:o10000").ClearContents
- For x = 1 To UBound(arr)
- If D.Exists(arr(x, 1) & arr(x, 4)) Then
- y = D(arr(x, 1) & arr(x, 4))
- For n = 1 To 4
- arr1(y, n) = arr(x, n)
- Next n
- For n = 5 To 7
- arr1(y, n) = arr1(y, n) + arr(x, n)
- Next n
- Else
- k = k + 1
- D(arr(x, 1) & arr(x, 4)) = k
- For z = 1 To 7
- arr1(k, z) = arr(x, z)
- Next z
- End If
- Next x
- Range("i1:o1") = arr3
- Range("i2").Resize(D.Count, 7) = arr1
- m = 2 + D.Count
- Range("i" & m) = "小计"
- Range("m" & m & ":o" & m) = arr2
- End Sub
复制代码 |
|