Use this code -
Option Explicit
Dim lrow As Long
Dim i As Long
Sub sort_latest()
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A:A") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C:C") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A:D")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
With Worksheets("Sheet1")
lrow = .Range("A" & Rows.Count).End(xlUp).Row
For i = lrow To 2 Step -1
If .Range("A" & i).Value = .Range("A" & i - 1).Value Then
If .Range("C" & i).Value < .Range("C" & i - 1).Value Then
.Rows(i & ":" & i).Delete
lrow = lrow - 1
End If
End If
Next i
End With
End Sub
Bookmarks