Something like this should work:

Public Sub test()

'Loop through cells on "Sheet1"
rowcount1 = 0
Do
rowcount1 = rowcount1 + 1

    'Loop through cells on "Sheet2"
    rowcount2 = 0
    Do
        rowcount2 = rowcount2 + 1
        item1 = Sheets("Sheet1").Cells(rowcount1, 1)
        date1 = Sheets("Sheet1").Cells(rowcount1, 2)
        item2 = Sheets("Sheet2").Cells(rowcount2, 1)
        date2 = Sheets("Sheet2").Cells(rowcount2, 2)
        
        'Retrieve max date if match found
        If item1 = item2 And date2 > date1 Then
            Sheets("Sheet1").Cells(rowcount1, 3) = date2
            founddate = True
        End If
    
    Loop Until Cells(rowcount2, 1) = "" Or founddate = True
    
    founddate = False

Loop Until Sheets("Sheet1").Cells(rowcount1, 1) = ""

End Sub