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

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

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

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

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


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

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

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

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

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

Код VBA: переместить Вся строка вниз Текущий лист на основе значения ячейки

Sub MoveToEnd()
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xEndRow As Long
    Dim I As Long
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
lOne:
    Set xRg = Application.InputBox("Select range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Or xRg.Areas.Count > 1 Then
        MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Kutools for Excel"
        GoTo lOne
    End If
    xEndRow = xRg.Rows.Count + xRg.Row
    Application.ScreenUpdating = False
    For I = xRg.Rows.Count To 1 Step -1
        If xRg.Cells(I) = "Done" Then
           xRg.Cells(I).EntireRow.Cut
           Rows(xEndRow).Insert Shift:=xlDown
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Примечание: в этом коде VBA указано конкретное значение — «Done». Вы можете заменить его на любое другое значение, которое должно инициировать перемещение строки (например, «Completed» или любой другой статус, соответствующий вашему рабочему процессу). Убедитесь, что указанное значение совпадает точно — включая регистр и пробелы, — либо при необходимости адаптируйте код для сравнения без учёта регистра.

3. Нажмите клавишу F5 или щёлкните кнопку Run, чтобы выполнить код. В появившемся диалоговом окне Kutools для Excel выберите диапазон столбца, в котором может находиться целевое значение, затем нажмите кнопку OK.

код VBA для выделения диапазона данных

После подтверждения код автоматически найдёт строки со значением «Done» в выбранном столбце и переместит их вниз вашего диапазона данных. Это перераспределение происходит мгновенно, экономя время, которое ушло бы на ручную сортировку или перетаскивание строк.

 вся строка, содержащая указанное значение, перемещается вниз диапазона данных

Советы:

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

Этот метод на основе VBA идеально подходит для ситуаций, когда регулярно приходится обрабатывать большое количество строк, особенно если ручная сортировка оказывается неэффективной. Однако если вы ищете решение без макросов или предпочитаете работать напрямую с формулами и встроенными средствами Excel, обратите внимание на следующий подход.

снимок экрана kutools for excel ai

Раскройте магию Excel с помощью KUTOOLS AI

  • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
  • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
  • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
  • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
  • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Расширьте возможности Excel с помощью инструментов на базе ИИ.Скачать сейчаси ощутите эффективность, как никогда раньше!

Переместить Вся строка вниз с использованием формул Excel и сортировки

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

1. Вставьте новый вспомогательный столбец справа или слева от существующих данных. Например, если заголовки ваших данных находятся в строке 1, а значения — начиная со строки 2, и статус расположен в столбце C, вставьте новый столбец D и назовите его «SortKey» или как-то подобное.

2. В первой ячейке вспомогательного столбца (исключая заголовок, например D2) введите следующую формулу:

=IF(C2="Done",1,0)

Эта формула присвоит значение 1 строкам, в которых столбец C содержит «Done», и значение 0 — всем остальным.

3. Нажмите Enter, чтобы подтвердить формулу, затем скопируйте её на все строки с данными. Для этого просто перетащите маркер заполнения из ячейки D2 вниз до последней строки ваших данных или дважды щёлкните маркер заполнения для автоматического заполнения, если соседний столбец содержит данные.

4. Выберите любую ячейку в вашем диапазоне данных, затем перейдите на вкладку Data на ленте Excel и нажмите кнопку Sort.

5. В диалоговом окне сортировки в раскрывающемся списке «Sort by» выберите значение От наименьшего к наибольшему и задайте порядок сортировки. В результате все строки со статусом «Done» (помеченные как 1) переместятся вниз, а остальные (помеченные как 0) — вверх.

6. Нажмите кнопку OK, чтобы применить сортировку. Ваши данные будут перегруппированы так, что все завершённые или помеченные как «Done» записи окажутся внизу таблицы.

Пояснения параметров и советы:

  • Вы можете заменить «Done» в формуле на любой другой индикатор статуса, актуальный для вашего листа (например, «Completed» или «Inactive»). Главное — убедитесь, что написание точно совпадает с данными в вашей таблице.
  • Если вы хотите переместить строки с несколькими значениями (например, и «Done», и «Canceled»), используйте формулу вида:
    =IF(OR(C2="Done",C2="Canceled"),1,0)
  • Чтобы изменить порядок на обратный (чтобы строки со статусом «Done» оказались вверху), выполните сортировку в От наибольшего к наименьшему порядке или поменяйте местами 0 и 1 в формуле.

Этот подход не удаляет и не скрывает строки, сохраняя структуру данных в неизменном виде. Он идеально подходит для совместной работы, гарантирует совместимость между различными версиями Excel и помогает избежать потенциальных проблем с файлами, содержащими макросы.


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

Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек