|
发表于 2011-12-29 10:26
|
显示全部楼层
本楼为最佳答案
- Sub justtest()
- Dim D As New Dictionary, Arr, i&, k As Byte, Mc As Byte
- Dim Mr&, ArrT() As String, j As Byte
- Application.ScreenUpdating = False
- With Worksheets("基础表")
- Mc = .Cells(1, .Columns.Count).End(1).Column
- Mr = .Cells(.Rows.Count, 1).End(3).Row
- Arr = .Cells(1, 1).Resize(Mr, Mc).Value
- End With
- ReDim ArrT(1 To Mr - 1, 1 To Mc)
- For i = 2 To Mr
- ArrT(i - 1, 1) = Arr(i, 1)
- D.RemoveAll: k = 1
- For j = 2 To Mc
- If Not D.Exists(Arr(i, j)) Then
- k = k + 1: ArrT(i - 1, k) = Arr(i, j)
- D.Add Arr(i, j), 0
- End If
- Next
- Next
- With Worksheets("结果表")
- .Cells.Clear
- .Range("A1").Resize(1, Mc) = Application.Index(Arr, 1, 0)
- .Range("A2").Resize(Mr - 1, Mc) = ArrT
- End With
- Application.ScreenUpdating = True
- Set D = Nothing
- End Sub
复制代码
20111228问题.rar
(340.39 KB, 下载次数: 19)
|
|