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

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

Sub InsertCopyRow1()

ActiveCell.EntireRow.Select     Selection.Copy     Selection.Insert Shift:=xlDown End Sub

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

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

шатер вокруг него.

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

Sub InsertCopyRow2()

ActiveCell.Offset(1, 0).EntireRow.Insert     ActiveCell.EntireRow.Copy ActiveCell.Offset(1, 0).EntireRow End Sub

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (10917) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Inserting_and_Copying_Rows [Вставка и копирование строк].