|
发表于 2015-4-1 15:45
|
显示全部楼层
本楼为最佳答案
合计自己手动添加吧- Sub Macro1()
- Dim arr, brr, crr, d, d2, i&, j%, zf$$, k%
- Set d = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary") '姓名
- Sheets("汇总").Activate
- [a3:b65536] = ""
- arr = Range("a2").CurrentRegion
- For k = 2 To Sheets.Count
- crr = Sheets(k).Range("a1").CurrentRegion
- For i = 3 To UBound(crr) - 1
- d2(crr(i, 2)) = ""
- For j = 3 To UBound(crr, 2)
- zf = crr(i, 2) & "," & crr(1, 1) & "," & crr(2, j)
- d(zf) = crr(i, j)
- Next
- Next
- Next
- ReDim brr(1 To d2.Count, 1 To UBound(arr, 2))
- a = d2.keys
- For i = 1 To d2.Count
- brr(i, 1) = i
- brr(i, 2) = a(i - 1)
- For j = 3 To UBound(arr, 2)
- If arr(1, j) = "" Then arr(1, j) = arr(1, j - 1)
- zf = brr(i, 2) & "," & arr(1, j) & "," & arr(2, j)
- brr(i, j) = d(zf)
- Next
- Next
- Range("a3").Resize(UBound(brr), UBound(brr, 2)) = brr
- End Sub
复制代码 |
评分
-
查看全部评分
|