|
发表于 2014-9-22 15:56
|
显示全部楼层
本楼为最佳答案
本帖最后由 xdragon 于 2014-9-22 15:59 编辑
- Sub test2()
- Dim d As Object, arr, i%, j&, t, re(), dc%
- Dim gg%, cz%, zl%, sr$$
- t = Array("图纸量", "库存量", "领料量", "采购量")
- ReDim re(1 To 10000, 1 To 6)
- Set d = CreateObject("scripting.dictionary")
- For i = 0 To UBound(t)
- arr = Sheets(t(i)).Range("A1").CurrentRegion.Value
- For j = 1 To UBound(arr, 2)
- If arr(1, j) = "规格" Then gg = j
- If arr(1, j) = "材质" Then cz = j
- If arr(1, j) = "重量" Then zl = j
- Next
- For j = 2 To UBound(arr)
- sr = arr(j, gg) & "|" & arr(j, cz)
- If Not d.exists(sr) Then
- dc = d.Count + 1
- d(sr) = dc
- re(dc, 1) = arr(j, gg)
- re(dc, 2) = arr(j, cz)
- End If
- re(d(sr), i + 3) = re(d(sr), i + 3) + arr(j, zl)
- Next
- Sheets("对比表").Range("A4").Resize(d.Count, 6) = re
- Next
- End Sub
复制代码 换一种方法试试{:20:} |
|