Public Sub Locdulieu()
Dim Dic As Object, Tem As String
Dim sArr(), dArr(), I As Long, K As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("ETAB")
sArr = .Range("A2", .Range("A65535").End(3)).Resize(, 7).Value
End With
ReDim dArr(1 To UBound(sArr, 1), 1 To 7)
For I = 1 To UBound(sArr, 1)
Tem = sArr(I, 1) & "#" & sArr(I, 2)
If Not Dic.Exists(Tem) Then
K = K + 1
Dic.Add Tem, K
dArr(K, 1) = sArr(I, 1): dArr(K, 2) = sArr(I, 2)
dArr(K, 3) = sArr(I, 3): dArr(K, 4) = sArr(I, 4)
dArr(K, 5) = sArr(I, 5): dArr(K, 6) = sArr(I, 6)
dArr(K, 7) = sArr(I, 7)
Else
If dArr(Dic.Item(Tem), 5) >= sArr(I, 5) Then
dArr(Dic.Item(Tem), 3) = sArr(I, 3)
dArr(Dic.Item(Tem), 4) = sArr(I, 4)
dArr(Dic.Item(Tem), 5) = sArr(I, 5)
dArr(Dic.Item(Tem), 6) = sArr(I, 6)
dArr(Dic.Item(Tem), 7) = sArr(I, 7)
End If
End If
Next I
With Sheets("DU LIEU LOC")
.Range("A4:G5000").ClearContents
.Range("A4").Resize(K, 7) = dArr
End With
Set Dic = Nothing
End Sub