|
发表于 2015-2-3 13:01
|
显示全部楼层
本楼为最佳答案
- Sub Macro1()
- Dim arr, brr, crr, d, i&, j%, k%, zf$
- Set d = CreateObject("scripting.dictionary")
- arr = Sheets("程序结果").Range("a1").CurrentRegion
- For i = 2 To UBound(arr)
- zf = Left(arr(i, 3), 1) & "," & arr(i, 4)
- If Not d.exists(zf) Then
- d(zf) = i
- Else
- If arr(i, 1) > arr(d(zf), 1) Then d(zf) = i
- End If
- Next
- For j = 1 To Sheets.Count
- If Sheets(j).Name <> "程序结果" Then
- gzb = Left(Sheets(j).Name, 1)
- brr = Sheets(j).Range("a1").CurrentRegion
- ReDim crr(1 To UBound(brr) - 1, 1 To 3)
- For i = 2 To UBound(brr)
- zf = gzb & "," & brr(i, 4)
- If d.exists(zf) Then
- n = d(zf)
- For k = 1 To 3
- crr(i - 1, k) = arr(n, k)
- Next
- End If
- Next
- Sheets(j).Range("a2").Resize(UBound(crr), 3) = crr
- End If
- Next
- End Sub
复制代码 |
评分
-
查看全部评分
|