Вам нужно сделать что-то вроде этого ...
Range("AW" & i) = WorksheetFunction.VLookup(Sheet2.Range("B" & i), Sheet3.Range("A1:B" & lastrow), 2, False)
... вам нужно заключить один диапазон во второй параметр.Это не на 100% проверено, но я что-то смоделировал локально, работая на одном листе, который работал.
Вы также можете сделать что-то подобное, используя INDEX и MATCH ...
Range("AW" & i) = WorksheetFunction.Index(Sheet3.Range("A1:B" & lastrow), WorksheetFunction.Match(Sheet2.Range("B" & i), Sheet3.Range("A1:B" & lastrow)))
Если у вас есть вероятность того, что предметы не найдут совпадения, вам необходимо выполнить соответствующую проверку ошибок.