Как копировать строки с нескольких листов на новый лист по заданным критериям?
Предположим, у вас есть книга с тремя листами, имеющими одинаковое форматирование, как показано на рисунке ниже. Как быстро и легко скопировать все строки с этих листов, в которых столбец C содержит текст «Completed», на новый лист — без ручного копирования и вставки по одной строке?
![]() | ![]() | ![]() |
Копирование строк из нескольких листов на основе критериев на новый лист с помощью кода VBA
Копирование строк из нескольких листов на основе критериев на новый лист с помощью кода VBA
Следующий код VBA поможет вам скопировать определённые строки со всех листов книги на новый лист в соответствии с заданным условием. Выполните следующие действия:
1. Удерживая нажатыми клавиши ALT + F11, откройте окно Microsoft Visual Basic для приложений.
2. Нажмите Вставка > Модуль и вставьте следующий код в окно модуля.
Код VBA: Копирование строк из нескольких листов на основе критериев на новый лист
Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
If xWs.Name <> xStr Then
Set xRg = xWs.Range("C:C")
Set xRg = Intersect(xRg, xWs.UsedRange)
For Each xRRg In xRg
If xRRg.Value = xRStr Then
xRRg.EntireRow.Copy
xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
xC = xC + 1
End If
Next xRRg
End If
Next xWs
Application.DisplayAlerts = True
End Sub
Примечание: В приведённом выше коде:
- Текст «Completed» в этом xRStr = «Completed»сценарии указывает конкретное условие, на основе которого необходимо копировать строки;
- C:C в этом Set xRg = xWs.Range(«C:C») сценарии указывает столбец, в котором расположено условие.
3. Затем нажмите клавишу F5, чтобы запустить этот код. Все строки, соответствующие заданному условию, будут скопированы и вставлены на новый лист с именем «Kutools для Excel» в текущей книге. См. рисунок:

Другие статьи по извлечению или копированию данных:
- Копирование данных на другой лист с помощью расширенного фильтра в Excel
- Обычно функцию расширенного фильтра можно быстро применить для извлечения данных из исходной таблицы на том же листе. Однако при попытке скопировать отфильтрованный результат на другой лист иногда появляется следующее предупреждение. Как в таком случае выполнить эту задачу в Excel?
- Копирование строк на новый лист на основе критериев столбца в Excel
- Например, имеется таблица закупок фруктов, и теперь вам нужно скопировать записи на новый лист на основе указанного фрукта. Как легко выполнить эту задачу в Excel? Ниже я представлю несколько методов копирования строк на новый лист на основе критериев столбца в Excel.
- Копирование строк, если столбец содержит определённый текст или значение, в Excel
- Допустим, вы хотите найти ячейки, содержащие определённый текст или значение в заданном столбце, а затем скопировать всю строку, в которой расположена найденная ячейка. Как это сделать? Ниже я покажу несколько способов поиска строк, где столбец содержит нужный текст или значение, и последующего копирования всей строки в Excel.
Лучшие инструменты для повышения продуктивности в офисе
Kutools для Excel решает большинство ваших задач и повышает продуктивность на 80 %
- Супер строка формул (удобное редактирование многострочного текста и формул); Режим чтения (удобный просмотр и редактирование большого количества ячеек); Вставка в диапазон фильтрации…
- Объединение ячеек, строк или столбцов с сохранением данных; разделение содержимого ячеек;Объединение дублирующихся строк с суммированием или усреднением… предотвращение дублирования записей в ячейках;Сравнение диапазонов…
- Выбор дубликатов или уникальных строк; выбор пустых строк (все ячейки пустые); улучшенный и нечёткий поиск по множеству книг; случайный выбор…
- Точная копия нескольких ячеек без изменения ссылок в формулах; автоматическое создание ссылок на несколько листов; вставка маркеров, флажков и многое другое…
- Избранные и быстрая вставка формул, диапазонов, диаграмм и изображений; Защита ячеек паролем; Создание списка рассылкии отправка электронных писем…
- Извлечение текста, добавление текста, удаление символов в определённой позиции, удаление пробелов; создание и печать статистики по странице данных; преобразование между содержимым ячеек и примечаниями…
- Суперфильтр (сохранение и применение схем фильтрации к другим листам); расширенная сортировка по месяцам, неделям, дням, частоте и другим параметрам; специальный фильтр по полужирному, курсиву…
- Объединение книг и листов; объединение таблиц на основе ключевого столбца; разделение данных на несколько листов; пакетное преобразование XLS, XLSX и PDF…
- Сводная таблица: группировка по номеру недели, дню недели и многому другому… Показ разблокированных и заблокированных ячеек разными цветами; Выделение ячеек, содержащих формулы или имена…

- Включите вкладки для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — это удобнее, чем использовать отдельные окна.
- Повышает продуктивность на 50 % и экономит сотни кликов мышью каждый день!



