И что? Все ровно так, как я говорил. Изначально Вы смещались от найденной ячейки на 1 столбец ВЛЕВО, хотя значения искали и так в столбце А:
поэтому мой код не работал. О чем я написал, кстати. Поменял код в Вашем файле на предложенный мной ранее
Код |
---|
Workbooks("data.xlsm").Worksheets("Лист2").Range("B2").Value = rFind.Offset(0, 1).Value |
только сейчас у Вас смещение идет на столбец ВПРАВО, что более чем логично и более чем рабочий вариант.
И Вам бы условие добавить в текущий вариант:
Код |
---|
If x <> "" then
'тогда ищем и все такое
End if |
иначе начиная с 4-ой строки ищет(и находит!) пустые ячейки и такие же в итоге копируется на итоговый лист. Что создает впечатление, будто ничего и не копировалось...
Ну и если запишите вот так:
Код |
---|
Workbooks("data.xlsm").Worksheets("Лист1").Cells(N, 2).Value = rFind.Offset(0, 1).Value |
то увидите, что все работает и переносится