|
发表于 2014-5-4 06:30
|
显示全部楼层
本楼为最佳答案
- Sub Macro1()
- Dim arr, brr, i&, j%, d, d2, zf$
- Set d = CreateObject("scripting.dictionary")
- Set d2 = CreateObject("scripting.dictionary")
- brr = Sheet2.Range("a1").CurrentRegion
- bh = [g7] '编号
- bm = [g8] '部门
- For i = 2 To UBound(brr)
- If brr(i, 2) = bh And brr(i, 3) = bm Then
- zf = bh & "," & bm
- d2(zf & "," & brr(i, 1)) = d2(zf & "," & brr(i, 1)) & "," & i
- If Not d.exists(zf) Then
- d(zf) = i
- Else
- If brr(i, 1) > brr(d(zf), 1) Then d(zf) = i '最新日期
- End If
- End If
- Next
- x = Split(d2(zf & "," & brr(d(zf), 1)), ",")
- ReDim arr(1 To UBound(x), 1 To 5)
- For i = 1 To UBound(x)
- For j = 5 To 9
- arr(i, j - 4) = brr(x(i), j)
- Next
- Next
- Range("f10:j20000").ClearContents
- Range("f10").Resize(UBound(arr), 5) = arr
- End Sub
复制代码 |
|