У меня, возможно, глупый вопрос, но у меня есть макрос, который просматривает разные книги и выполняет vlookups. К сожалению, для одного из просмотров я не получаю результат и не могу по-настоящему разобраться.
Код:
Workbooks("export_z002.xlsx").Worksheets("Sheet1").Activate
Dim Table_Z002 As Range
Set Table_Z002 = Workbooks("export_z002.xlsx").Worksheets("Sheet1").Range("F:G")
Workbooks("export_add_info.xlsx").Worksheets("Sheet1").Activate
Dim newRow As Integer
Dim newCL As String
On Error Resume Next
newRow = 2
While ActiveSheet.Cells(newRow, 1).Value <> ""
newCL = ActiveSheet.Cells(newRow, 2)
ActiveSheet.Cells(newRow, 4) = Application.WorksheetFunction.VLookup(newCL, Table_Z002, 2, 0)
newRow = newRow + 1
Wend
End Sub
Я использовал один и тот же подход для vlookup несколько раз, в том числе внутри этого макроса, и он работает нормально (говоря это потому, что я знаю, что многие люди предпочитают делать это с циклом for, но я нахожу логику цикла While проще). Важно сказать, что это vlookups передает большие числа (целые числа).
Данные в листах ботов имеют одинаковый формат - Общие числа хранятся в виде текста. Я попытался изменить формат на цифры или текст перед vlookup, и он не работает ...
Я надеюсь, что кто-то может помочь мне здесь, потому что это сводит меня с ума. Может ли быть какая-то другая причина, кроме форматирования, почему это может не сработать?
С уважением,
Михаил