VBA VLookup не возвращает никаких результатов, но я могу вызвать значения напрямую - PullRequest
0 голосов
/ 17 сентября 2018

Я не уверен, что здесь происходит с этим 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")
...