|
发表于 2016-1-14 12:59
|
显示全部楼层
本楼为最佳答案
本帖最后由 sry660 于 2016-1-14 13:05 编辑
- Sub 归集()
- Dim arr, i&, j&, Sh As Worksheet, x, brr, d
- arr = [a1].CurrentRegion
- Set d = CreateObject("scripting.dictionary")
- ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
- For Each Sh In Worksheets
- If Sh.Name <> "目标" Then
- With Sh
- brr = .[a1].CurrentRegion
- For i = 2 To UBound(brr)
- For j = 2 To UBound(brr, 2)
- x = brr(i, 1) & brr(1, j)
- d(x) = d(x) + brr(i, j)
- Next
- Next
- End With
- End If
- Next
- For i = 2 To UBound(arr)
- For j = 2 To UBound(arr, 2)
- x = arr(i, 1) & arr(1, j)
- If d.exists(x) Then
- arr(i, j) = d(x)
- End If
- Next
- Next
- [b2:k100].ClearContents
- [a1].Resize(UBound(arr), UBound(arr, 2)) = arr
- End Sub
复制代码 |
|