Sub test()
Dim p$, f$, d1, d2, A, i%
Application.ScreenUpdating = False
Set d1 = CreateObject("scripting.dictionary")
Set d2 = CreateObject("scripting.dictionary")
p = ThisWorkbook.Path & "\"
f = Dir(p & "*.xlsx")
Do While f <> ""
With Workbooks.Open(p & f)
A = .Sheets(1).UsedRange
.Close
End With
For i = 3 To UBound(A)
If A(i, 2) > d1(A(i, 1)) Then
d1(A(i, 1)) = A(i, 2)
d2(A(i, 1)) = A(i, 3)
End If
Next i
f = Dir
Loop
A = Range("a1").CurrentRegion
For i = 3 To UBound(A)
A(i, 2) = d1(A(i, 1))
A(i, 3) = d2(A(i, 1))
Next i
Range("a1").Resize(UBound(A), UBound(A, 2)) = A
End Sub
比较并保留最大值2.rar
(43.58 KB, 下载次数: 7)