Sub zz()
Dim arr, d
arr = [a1].CurrentRegion
Set d = CreateObject("scripting.dictionary")
For i = 2 To UBound(arr)
If Not d.exists(d(arr(i, 1))) Then
d(arr(i, 1)) = arr(i, 2)
Else
If arr(i, 2) + 0 > d(arr(i, 1)) + 0 Then d(arr(i, 1)) = arr(i, 2)
End If
Next
Workbooks.Add
[a1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))
End Sub作者: GBKEE 時間: 2015-9-2 08:33
Sub EX()
Dim xlMax As Date
Range("A1").AutoFilter FIELD:=1, Criteria1:="abc" '工作表指定範圍自動篩選,給準則
xlMax = Application.WorksheetFunction.Max(Columns(2).SpecialCells(xlCellTypeVisible))
'篩選後可見資料的最大值
' Range("A1").AutoFilter '工作表指定範圍取消自動篩選
Sub 找最大日期()
Dim i&, Arr, DD, MXD
[D1] = "": If [C1] = "" Then Exit Sub
Arr = Range([A2], [B65536].End(xlUp))
For i = 1 To UBound(Arr)
DD = Arr(i, 2)
If Arr(i, 1) = [C1] And IsDate(DD) Then If DD > MXD Then MXD = DD
Next i
If IsDate(MXD) Then [D1] = MXD Else [D1] = "找不到"
End Sub