Я не уверен, что здесь происходит с этим VBA VLookup.
Я могу вызвать значение из ячейки напрямую. Я могу вызвать любое значение ячейки внутри диапазона, определенного в другой книге. Но когда я пытаюсь применить его к Application Vlookup, он просто ничего не делает ....
Set report_ws = report_wb.Worksheets(1)
Set report_rng = report_ws.Range("B2:B" & last_row)
' last_row has been verify with Debug.Print
With inv_twcl_ws
x = Trim(inv_twcl_ws.Cells(2, 1).Value)
' x has been verify with Debug.Print
inv_twcl_ws.Cells(2, 7).Value = .Application.WorksheetFunction.VLookup(x, report_rng, 1, False)
'.Cells(2, 7).Value = report_rng.Cells(2, 1) This works so why not the vlookup!!!
End With
Я также пробовал:
inv_twcl_ws.Cells(2, 7).Formula = .Application.WorksheetFunction.VLookup(x, report_rng, 1, False)
В комментариях я попробовал ниже и все еще не повезло:
.Cells(2, 7).Formula = Application.WorksheetFunction.VLookup(x, report_rng, 1, False)
И
inv_twcl_ws.Cells(2, 7).Formula = Application.WorksheetFunction.VLookup(x, report_rng, 1, False)
Я также пытался использовать IfError
, чтобы получить что-то там, если ничего не найдено.
.Cells(2, 7).Formula = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(x, report_rng, "Yes", True), "No")