Переименованная рабочая таблица?!
Когда вы запускаете свой код и нет рабочей таблицы с именем «Лист2» (на вкладке ):
Ошибка времени выполнения: нижний индекс '9' выходит за пределы диапазона
Если у вас нет данных от А2 до низа на листе с именем «Лист2»:
Выполнитьошибка «1004»: ошибка приложения или объекта
Вывод: возможно, вы случайно переименовали «Sheet2».Чтобы избежать этого, вы можете использовать кодовое имя листа следующим образом:
Rows(2).Copy
Sheet2.Range("A1").End(xlDown).Offset(1, 0).EntireRow.Insert
Теперь вы можете переименовать лист в Tab по своему желанию.
Последняя использованная ячейка в столбце
Если вы на 100% уверены, что есть данные хотя бы в первых двух строках и ваши данные являются смежными (без пустых ячеек), ваш код работает нормально,Если данные в столбце не являются смежными, первая пустая ячейка, в которой они останавливаются, не будет последней.Таким образом, вы будете перезаписывать существующие данные.
Поэтому последняя ячейка в столбце в основном рассчитывается снизу следующим образом:
Rows(2).Copy
Sheet2.cells(Rows.count,"A").End(xlUp).Offset(1, 0).EntireRow.Insert
Это имеет ограничение, которое никогда не будет копироваться в строку 1., но поскольку у вас там обычно есть заголовки, это нормально.
Способ без ограничений - использование Find Method .