实例9有误 字典存的项应该是k,数据特殊未暴露。
- Sub a()
- Dim arr, d, k%, i%, j%
- Set d = CreateObject("Scripting.Dictionary")
- arr = Sheet1.UsedRange
- For i = 2 To UBound(arr)
- If Not d.Exists(arr(i, 2)) Then
- k = k + 1
- d(arr(i, 2)) = k
- If i <> k Then
- For j = 1 To UBound(arr, 2)
- arr(k, j) = arr(i, j)
- Next
- End If
- Else
- arr(d(arr(i, 2)), 1) = CStr(arr(d(arr(i, 2)), 1)) + " " + CStr(arr(i, 1))
- arr(d(arr(i, 2)), 4) = CStr(arr(d(arr(i, 2)), 4)) + " " + CStr(arr(i, 4))
- arr(d(arr(i, 2)), 5) = Val(arr(d(arr(i, 2)), 5)) + Val(arr(i, 5))
- arr(d(arr(i, 2)), 6) = Val(arr(d(arr(i, 2)), 6)) + Val(arr(i, 6))
- End If
- Next
- With Sheet2
- .Cells.ClearContents
- .[a1:f1].Resize(d.Count) = arr
- End With
- End Sub
复制代码
|