Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

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

Для перемещения всей строки в нижней части активного листа на основе значения ячейки в Excel, пожалуйста, попробуйте код VBA в этой статье.

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

Вкладка «Office» Включите редактирование и просмотр с вкладками в Office и упростите свою работу ...
Kutools для Excel добавляет расширенные функции 300 в Excel и повышает производительность на 80%
  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Kutools работает с Office 2007-2019 и 365. Он поддерживает все языки и очень прост в установке и развертывании. Полнофункциональная 60-дневная бесплатная пробная версия.

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


Например, как показано ниже, если ячейка в столбце C содержит определенное значение «Готово», затем переместите всю строку в нижнюю часть текущего листа. Пожалуйста, сделайте следующее.

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

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > модуль, Затем скопируйте и вставьте следующий код 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 "Готово"- это значение ячейки, на которое вы будете перемещать всю строку. Вы можете изменить его, как вам нужно.

3. нажмите F5 для запуска кода, затем в всплывающем окне Kutools for Excel диалогового окна, выберите диапазон столбцов, в котором существует определенное значение, затем нажмите OK Кнопка.

После нажатия OK , вся строка, которая содержит значение «Готово» в указанном столбце, автоматически перемещается в нижнюю часть диапазона данных.


arrow синий правый пузырьСтатьи по теме:


Kutools для Excel - лучший инструмент для повышения производительности в офисе Повысьте производительность на 80%

  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905

Вкладка «Office» предоставляет интерфейс с вкладками для Office и упрощает работу

  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Anon · 14 days ago
    Hello, the only way I can get this to work is if I "run" the macro in the Visual Basic sub screen. Is it possible to have this VBA code run automatically, once the user types in "Done"? Each time I'm getting the Kutools for Excel dialog box pop up to ask the parameters I'm requesting the code to search by. I have sort of worked around this by replacing : xTxt = ActiveSheet.UsedRange.AddressLocal with the parameters I need searched and hitting enter. But it would be more convenient if it automatically made the changes after "Done" was entered. Thank you!
  • To post as a guest, your comment is unpublished.
    Tammy · 2 months ago
    Hello, is there a way to tweak this so that it moves a row somewhere else in the same sheet besides the end? I have a sheet that has order information for dated orders and upcoming orders yet to be dated and I have it so that when I put an "X" in column A things highlight and bold depending on part #'s and shipping locations. Now I have to physically cut and paste the newly dated (shipping date) so that it fits in at the top sorted by date (1st thru end of month). I have been able to conditional format everything up to this point, but I don't think I can move rows that way. I was wondering if VBA could do this, move a row when a date is entered to fit in with the other dated rows?
  • To post as a guest, your comment is unpublished.
    Brandon · 7 months ago
    Hello. This is almost perfect for what I want. I have part of the same request as Anon had to make this work without user input along with some extras.

    I am wondering if it is possible to have the only column searched to be i4 to i50 and have it automatically run at open or anytime the i column is edited. Also if it would be possible to move the rows to the bottom of the sheet without any blank rows between "done" rows and "no" rows. Currently if I select i4:i50 and if I only have data up to row 25 it will paste the "done" rows ascending from row 50 instead of row 25. The number of rows in my sheet is constantly changing and shouldn't get to more than 50. Thanks for the help.
    • To post as a guest, your comment is unpublished.
      crystal · 6 months ago
      Hi Brandon,
      Sorry can help you with that. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    Mags · 1 years ago
    Hi Crystal, this code works great, thank you. I would like move all the rows which contain word "Complete" in column D to the top of the table (insert in row 3). Is that possible? then I would like to delete all these complete rows which contain "yesterday date" in column V.
  • To post as a guest, your comment is unpublished.
    Anon · 1 years ago
    How could I make it so the kutools selects specific rows without user input?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Anon,
      I am sorry, I'm not sure what you mean. Would be nice if you can explain it again or provide a screenshot to show what you are trying to do .
      Thanks for your comment.