|
发表于 2011-12-13 18:30
|
显示全部楼层
本楼为最佳答案
- Sub JustTEST()
- Dim D As New Dictionary, Arr, i&, j As Byte, m As Byte, k&, ArrR(), S$
- For j = 3 To 8
- D.Add Cells(1, j).Value, j
- Next j
- For m = 1 To Worksheets.Count
- If Worksheets(m).Name <> "汇总" Then
- Arr = Worksheets(m).Range("A1").CurrentRegion.Value
- For j = 3 To UBound(Arr, 2)
- Arr(1, j) = D(Arr(1, j))
- Next j
- For i = 2 To UBound(Arr)
- S = Arr(i, 1) & Arr(i, 2)
- If Not D.Exists(S) Then
- k = k + 1: D.Add S, k
- ReDim Preserve ArrR(1 To 8, 1 To k)
- ArrR(1, k) = Arr(i, 1): ArrR(2, k) = Arr(i, 2)
- End If
- For j = 3 To UBound(Arr, 2)
- ArrR(Arr(1, j), D(S)) = Arr(i, j)
- Next j
- Next i
- End If
- Next m
- Range("a2:h" & Rows.Count).ClearContents
- Range("A2").Resize(k, 8) = Application.Transpose(ArrR)
- Range("A1").CurrentRegion.Sort Range("a1"), xlAscending, Header:=xlYes
- End Sub
复制代码 看下附件是否为你所要的。 |
|