KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как переместить всю строку на другой лист в Excel на основе значения ячейки?

АвторSiluviaДата изменения

Если вам нужно переместить всю строку на другой лист на основе значения ячейки, эта статья поможет вам.

Переместите Вся строка на другой лист на основе значения ячейки с помощью кода VBA
Переместите Вся строка на другой лист на основе значения ячейки с помощью Kutools для Excel


Переместите Вся строка на другой лист на основе значения ячейки с помощью кода VBA

Как показано на снимке экрана ниже, необходимо переместить всю строку с Лист1 на Лист2, если в столбце C содержится слово «Done». Воспользуйтесь приведённым ниже кодом VBA.

образец данных

1. Нажмите одновременно клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic для приложений.

2. В окне Microsoft Visual Basic для приложений выберите Вставка > Модуль. Затем скопируйте и вставьте приведённый ниже код VBA в открывшееся окно.

VBA code 1: Move entire row to another sheet based on cell value

Sub Cheezy()
'Updated by Kutools for Excel 2017/8/28
    Dim xRg As Range
    Dim xCell As Range
    Dim I As Long
    Dim J As Long
    Dim K As Long
    I = Worksheets("Sheet1").UsedRange.Rows.Count
    J = Worksheets("Sheet2").UsedRange.Rows.Count
    If J = 1 Then
       If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
    End If
    Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
    On Error Resume Next
    Application.ScreenUpdating = False
    For K = 1 To xRg.Count
        If CStr(xRg(K).Value) = "Done" Then
            xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
            xRg(K).EntireRow.Delete
            If CStr(xRg(K).Value) = "Done" Then
                K = K - 1
            End If
            J = J + 1
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Примечание: В коде Лист1 — это рабочий лист, содержащий строку, которую нужно переместить, а Лист2 — целевой рабочий лист, куда строка будет перемещена. «C:C» — это столбец с определённым значением, а «Done» — конкретное значение, по которому выполняется перемещение строки. При необходимости измените эти параметры.

3. Нажмите клавишу F5, чтобы выполнить код. После этого строка, соответствующая заданным критериям на Листе 1, будет немедленно перемещена на Лист 2.

выполните код для перемещения определённых строк на другой лист

Примечание: Приведённый выше код VBA удаляет строки из исходных данных после их перемещения на указанный рабочий лист. Если вы хотите не удалять строки, а копировать их на основе значения ячейки, используйте приведённый ниже код VBA 2.

VBA code 2: Copy entire row to another sheet based on cell value

Sub MoveRowBasedOnCellValue()
'Updated by Extendoffice 2017/11/10
    Dim xRg As Range
    Dim xCell As Range
    Dim I As Long
    Dim J As Long
    Dim K As Long
    I = Worksheets("Sheet1").UsedRange.Rows.Count
    J = Worksheets("Sheet2").UsedRange.Rows.Count
    If J = 1 Then
    If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
    End If
    Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
    On Error Resume Next
    Application.ScreenUpdating = False
    For K = 1 To xRg.Count
        If CStr(xRg(K).Value) = "Done" Then
            xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
            J = J + 1
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Переместите Вся строка на другой лист на основе значения ячейки с помощью Kutools для Excel

Если вы новичок в работе с кодом VBA, рекомендуем воспользоваться утилитой Выбрать определенные ячейки из набора инструментов Kutools для Excel. С её помощью можно легко выбрать все строки на основе одного или нескольких значений ячеек на рабочем листе, а затем скопировать выбранные строки в нужный лист. Выполните следующие действия.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите столбец, содержащий значения ячеек, на основе которых будут перемещаться строки, затем нажмите Kutools > Выделить > Выбрать определенные ячейки. См. снимок экрана:

нажмите функцию «Выделить определённые ячейки» в Kutools

2. В открывшемся диалоговом окне Выбрать определенные ячейки выберите Вся строка в разделе Выбрать тип, укажите Равно в раскрывающемся списке Указать тип, введите значение ячейки в текстовое поле и нажмите кнопку ОК.

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

задайте параметры в диалоговом окне «Выделить определённые ячейки»

3. Нажмите клавиши Ctrl+C, чтобы скопировать выделенные строки, а затем вставьте их в нужный лист.

скопируйте и вставьте определённые строки на другой лист

Примечание: Если вы хотите переместить строки на другой рабочий лист на основе двух разных значений ячеек (например, «Done» или «Processing»), включите условие ИЛИв диалоговом окне Выбрать определенные ячейки, как показано на снимке экрана ниже:

задайте параметры в диалоговом окне «Выделить определённые ячейки» для двух условий

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


Связанные статьи:

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек