Try this:-
Results start "E1"
Sub MG03Mar16
Dim Rng As Range
Dim Dn As Range
Dim Q
Set Rng = Range(Range("A2"), Range("A" & Rows.Count).End(xlUp))
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Dn In Rng
If Not .Exists(Dn.Value) Then
.Add Dn.Value, Array(Dn, Dn.Offset(, 1), Dn.Offset(, 2))
Else
Q = .Item(Dn.Value)
If Dn.Offset(, 1) < Q(1) Then Q(1) = Dn.Offset(, 1)
If Not Q(2) = "" Then
If Dn.Offset(, 2) = "" Then
Q(2) = Dn.Offset(, 2)
ElseIf Dn.Offset(, 2) > Q(2) Then
Q(2) = Dn.Offset(, 2)
End If
End If
.Item(Dn.Value) = Q
End If
Next
Dim k
Dim c As Long
c = 1
Range("E1:G1").Value = Array("Employees", "Start Date", "End Date")
For Each k In .keys
c = c + 1
Cells(c, "E") = .Item(k)(0)
Cells(c, "F") = .Item(k)(1)
Cells(c, "G") = .Item(k)(2)
Next k
End With
End Sub
Regards Mick
Bookmarks