Maybe :
Sub Test()
Dim coll As New Collection, arr, i As Long, j As Long, v
arr = Range("A1:A" & Cells(Rows.Count, "A").End(xlUp).Row).Value
For i = 1 To UBound(arr, 1)
If Not IsEmpty(arr(i, 1)) Then
On Error Resume Next
coll.Add key:=CStr(arr(i, 1)), Item:=arr(i, 1)
v = Split(arr(i, 1), ".")(0)
coll.Add key:=v, Item:=CSng(v)
coll.Add key:=v & ".99", Item:=CSng(v & ".99")
On Error GoTo 0
End If
Next i
ReDim arr(1 To coll.Count, 1 To 1)
i = 0
For Each v In coll
i = i + 1
arr(i, 1) = v
Next v
For i = 1 To UBound(arr, 1)
For j = i + 1 To UBound(arr, 1)
If arr(j, 1) < arr(i, 1) Then
v = arr(i, 1)
arr(i, 1) = arr(j, 1)
arr(j, 1) = v
End If
Next j
Next i
With Range("B1").Resize(UBound(arr, 1), UBound(arr, 2))
.Value = arr
.NumberFormat = "0.00"
End With
End Sub
Bookmarks