Option Explicit


Sub test()
    Dim dic As Object
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim c As Range
    Dim s As String
     
    Set dic = CreateObject("scripting.dictionary")
    Set ws1 = Worksheets("Sheet1")
    Set ws2 = Worksheets("Sheet2")
    
    For Each c In ws2.Range("a1", ws2.Range("a" & Rows.Count).End(xlUp))
        dic(c.Value & vbTab & c.Offset(, 1).Value) = c.Offset(, 2).Value
    Next
    
    For Each c In ws1.Range("a1", ws1.Range("a" & Rows.Count).End(xlUp))
        s = c.Value & vbTab & c.Offset(, 1).Value
        If dic.exists(s) Then c.Offset(, 2).Value = dic(s)
    Next


End Sub