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