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

Как переместить определённую строку на новый лист при установке флажка в Excel?

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

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


Перемещение строки при установке флажка с помощью кода VBA

Если вы хотите, чтобы при установке флажка определённая строка автоматически перемещалась на заданный рабочий лист, воспользуйтесь средством VBA (Visual Basic for Applications) в Excel — это гибкое и эффективное решение. Оно особенно полезно при работе с большими наборами данных или при частом выполнении подобных операций.

1. Откройте рабочий лист, на котором нужно перемещать строки в зависимости от состояния флажка. Перейдите на вкладку РазработчикВставитьФлажок (элемент управления ActiveX), чтобы добавить флажок на лист. Этот элемент управления позволяет привязывать действия к состоянию флажка. См. снимок экрана:

2. Щёлкните правой кнопкой мыши по ярлычку листа в нижней части окна Excel и выберите в контекстном меню пункт Просмотреть код, чтобы открыть соответствующее окно кода для этого листа. См. снимок экрана:

Снимок экрана, показывающий контекстное меню правой кнопки мыши для доступа к команде «Просмотреть код» в Excel

3. В открывшемся окне Microsoft Visual Basic for Applications скопируйте и вставьте следующий код VBA в окно кода:

Код VBA: перемещение строки на указанный рабочий лист при установке флажка

Private Sub CheckBox1_Click()
    Dim xRg As Range
    Dim xAddress As String
    On Error Resume Next
    If CheckBox1.value Then
        xAddress = Application.ActiveWindow.RangeSelection.Address
        Set xRg = Application.InputBox("Please select the range row you will move(single cell):", "KuTools For Excel", xAddress, , , , , 8)
        If xRg Is Nothing Then Exit Sub
        Set xRg = xRg(1).EntireRow
        xRg.Copy
        ActiveWorkbook.Sheets("Sheet3").Range("A1").PasteSpecial xlPasteAllUsingSourceTheme
        xRg.Clear
        Application.CutCopyMode = False
    End If
End Sub

Примечание: В коде Sheet3 и A1 означают, что указанная строка будет перемещена в первую строку листа Sheet3. Измените эти значения в соответствии с вашими требованиями. Например, чтобы переместить строку на Лист2, начиная с ячейки B10, просто скорректируйте эти параметры в коде.

Будьте внимательны при редактировании макроса: некорректные изменения могут вызвать ошибки или привести к непреднамеренному перемещению данных. Всегда сохраняйте книгу перед запуском нового кода VBA — это позволит легко отменить изменения, если возникнет такая необходимость.

4. После ввода кода нажмите на клавиатуре Alt + Q, чтобы закрыть редактор VBA и вернуться к рабочему листу Excel.

5. Перед использованием функциональности убедитесь, что режим Конструктор на вкладке Разработчик отключён. Это активирует элемент управления «Флажок», чтобы он мог запускать макрос VBA, как задумано.

Снимок экрана, показывающий, как отключить режим разработки в Excel на вкладке «Разработчик»

6. Теперь щёлкните по добавленному флажку. Появится диалоговое окно Kutools для Excel, предлагающее выбрать первую ячейку строки или всю строку, которую требуется переместить. После выбора нажмите кнопку ОК. Указанная строка немедленно переместится на назначенный рабочий лист в соответствии с вашим кодом VBA. См. снимок экрана:

Снимок экрана с выделенной строкой для перемещения по нажатию флажка в Excel


Формула Excel — пометка и фильтрация строк для перемещения

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

Предположим, у вас есть флажки в диапазоне B2:B100, связанные с ячейками C2:C100, а данные строк — в диапазоне A2:B100. Вы можете использовать вспомогательный столбец (например, столбец D) с формулой для пометки строк, в которых установлены флажки:

1. Введите в ячейку D2 следующую формулу:

=IF(C2=TRUE, "Move", "")

2. Нажмите клавишу Enter, чтобы подтвердить формулу, а затем скопируйте её во все строки с данными (например, от D2 до D100). Сделать это можно, перетащив маркер заполнения или дважды щёлкнув по нему в правом нижнем углу ячейки.

3. Теперь вы можете отфильтровать столбец D, чтобы отобразить только строки со значением «Переместить», выделить видимые (отфильтрованные) строки и скопировать их на целевой рабочий лист с помощью сочетаний клавиш Ctrl+C и Ctrl+V.

Совет: Если ваши флажки не связаны со значениями ячеек, щелкните правой кнопкой мыши по каждому из них и задайте свойство Связь с ячейкой, чтобы при установке или снятии флажка соответствующая ячейка автоматически принимала значение ИСТИНА или ЛОЖЬ. Это обеспечит корректную работу формулы.

Преимущества: не требует макросов и работает в общих файлах. Недостатки: для перемещения помеченных строк необходимы некоторые ручные действия.


См. также:

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