Вставка и копирование строк

Когда вы редактируете рабочие листы, вы можете заметить, что часть вашей работы выполняется на основе работы, которую вы проделали ранее. Например, у вас может быть строка данных, которые вы ввели в предыдущем сеансе Excel. В этом сеансе вам нужно скопировать эту строку данных и использовать ее в качестве основы для ваших новых данных, но с небольшими изменениями.

В такой ситуации было бы неплохо иметь быстрый способ ввести пустую строку после текущей строки и скопировать данные из текущей строки в новую пустую строку. В Excel нет встроенных команд для этого, но макрос может сделать это очень удобно. Рассмотрим следующий пример:

Sub InsertCopyRow1 () ActiveCell.EntireRow.Select Selection.Copy Selection.Insert Shift: = xlDownEnd Sub

Чтобы использовать макрос, все, что вам нужно сделать, это выбрать ячейку в любой строке. При запуске макроса дубликат текущей строки вставляется чуть ниже строки, в которой вы находитесь.

Единственная проблема с этим решением заключается в том, что оно оставляет интерфейс Excel немного “беспорядочным” ( за неимением лучшего слова). После завершения вся строка по-прежнему будет выделена, а вокруг новой строки будет выделена рамка «марширующие муравьи».

Эту проблему можно решить, включив команды для свертывания выделения и перемещения его в Желаемое местоположение. Другой способ – просто использовать другой макрос, основанный на разных командах VBA. Следующий макрос также вставит и скопирует строку, но оставит выбранную вами ячейку активной:

Sub InsertCopyRow2 () ActiveCell.Offset (1, 0) .EntireRow.Insert ActiveCell.EntireRow. Скопируйте ActiveCell.Offset (1, 0) .EntireRowEnd Sub

Источник: frestage.ru

Бытовой вопрос