#excel #vba #copy-paste
#excel #vba #копировать-вставить
Вопрос:
Я использую следующий код для копирования данных из ячейки в нижнюю часть активного диапазона после того, как я поместил формулу или Vlookup в первую ячейку.
Range("G2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,Order,108,FALSE)"
Range("G2").Select
LR = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
Range("G2").AutoFill Range("G2:G" amp; LR)
Этот код работает нормально, пока у меня не будет только одной строки в активном диапазоне, после чего я получаю сообщение об ошибке для отладки
Ошибка времени выполнения ‘1004’: ошибка автозаполнения метода класса диапазона
Что мне нужно добавить, если последняя строка является первой строкой?
Есть предложения?
Я использую эту строку кода для копирования в активный раздел несколько раз на одной вкладке.
Заранее спасибо за помощь.
Комментарии:
1.
If LR > 2 Then
?
Ответ №1:
В If
этом случае может быть очень полезно.
Попробуйте что-то вроде:
Range("G2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC1,Order,108,FALSE)"
Range("G2").Select
LR = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
If LR <> 2 Then Range("G2").AutoFill Range("G2:G" amp; LR)