Мне нужно сделать vlookup как часть более крупного процесса, но код завершается ошибкой, когда не найдено совпадений. Я пробовал несколько решений, но пока ничего не получалось. Я не могу просто использовать формулу на листе, потому что это часть более крупного процесса, который мне нужно автоматизировать.
Я поместил vlookup в его собственную командную кнопку и использовал On Error Resume Next. Это выдает # N / A в ячейках без совпадения, и это сообщение об ошибке препятствует выполнению следующих шагов. Я пробовал Cells (i, 33) .Value = "" в операторе if и Cells.Replace ("# N / A", "", xlWhole), но ни один из них не сработал. Есть ли способ сделать эти ячейки пустыми, чтобы остальная часть моего кода могла работать?
У меня vlookup в одном макросе с остальным кодом. По какой-то причине из-за этого ячейки с ошибками оставались пустыми, но переменная BP, очевидно, не очищалась, поэтому ячейки, которые на самом деле не имели совпадения, заполнялись предыдущим совпадением, пока не было найдено новое.
Может ли кто-нибудь указать мне правильное направление, потому что на этом этапе я иду кругами?
For i = 2 To endrow
Acc = Application.Cells(i, 30)
On Error Resume Next 'skips to next loop when no match is found
BP = Application.VLookup(Acc, Sheet5.Range("A2:C307046"), 3, False) 'does a vlookup in CAIM file
Cells(i, 33).Value = BP
Next i
* больше кода здесь зависит от результатов vlookup