Перейти к содержимому

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

Author: Siluvia Last Modified: 2025-08-07

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

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


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

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

sample data

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

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

Код VBA 1: Перемещение всей строки на другой лист на основе значения ячейки

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.

run the coe to move the specific rows to another sheet

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

Код VBA 2: Копирование всей строки на другой лист на основе значения ячейки

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, здесь я представляю вам инструмент Select Specific Cells (Выбрать определенные ячейки) из Kutools для Excel. С помощью этого инструмента вы можете легко выбрать все строки на основе определенного значения ячейки или различных значений ячеек в рабочем листе, а затем скопировать выбранные строки на целевой рабочий лист по мере необходимости. Действуйте следующим образом.

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

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

click Select Specific Cells feature of kutools

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

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

set options in the Select Specific Cells dialog box

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

copy and paste the specific rows to other sheet

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

set options in the Select Specific Cells dialog box for two conditions

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


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

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

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–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% и сократите сотни кликов мышью ежедневно!