Note: The other languages of the website are Google-translated. Back to English

Как быстро перемещать элементы между двумя списками в Excel?

Вы когда-нибудь пытались переместить элементы из одного окна списка в другое, как вам нужно, как показано на скриншоте ниже? Здесь я расскажу об этой операции в Excel.

документ перемещает элементы между списком 1 стрелка вправо документ перемещает элементы между списком 2

Перемещать элементы между списками


Перемещать элементы между списками

Нет встроенной функции, которая могла бы помочь вам завершить работу, но у меня есть код VBA, который может оказать вам услугу.

1. Во-первых, вам необходимо создать список данных, которые будут отображаться как элементы в списках на новом листе, который называется Admin_Lists.
документ перемещает элементы между списком 3

2. Затем выберите эти данные и перейдите в Имя и фамилия коробка, чтобы дать им имя Список предметов. Смотрите скриншот:
документ перемещает элементы между списком 4

3. Затем на листе, который будет содержать два списка, щелкните разработчик > Вставить > Окно списка (Active X Control)и нарисуйте два списка. Смотрите скриншот:

документ перемещает элементы между списком 5 стрелка вправо документ перемещает элементы между списком 6

Если же линия индикатора разработчик вкладка скрыта ваша лента, Как отобразить вкладку разработчика в ленте Excel 2007/2010/2013? эта статья расскажет вам, как это показать.

4. Затем нажмите разработчик > Вставить > Командная кнопка (активный элемент управления X)и нарисуйте четыре кнопки между двумя списками. Смотрите скриншот:

документ перемещает элементы между списком 7 стрелка вправо документ перемещает элементы между списком 8

Теперь переименуем четыре командные кнопки с новыми именами.

5. Выберите первую командную кнопку, нажмите СвойстваИ в Свойства панель, дайте имя BTN_moveAllRight к нему и введите >> в текстовое поле рядом с Подпись. Смотрите скриншот:
документ перемещает элементы между списком 9

6. Повторите шаг 5, чтобы переименовать последние три командные кнопки с указанными ниже именами, а также введите другую стрелку в заголовки. Смотрите скриншот:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

документ перемещает элементы между списком 10 документ перемещает элементы между списком 11 документ перемещает элементы между списком 12

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

8. Скопируйте и вставьте указанный ниже код макроса в Модули скрипт, затем сохраните код и закройте Microsoft Visual Basic для приложений окно. Смотрите скриншот

VBA: перемещать элементы между двумя списками

Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
    Dim xCell As Range
    Dim xRg As Range
    Set xRg = Sheets("Admin_Lists").Range("ItemList")
    Me.ListBox1.Clear
    Me.ListBox2.Clear
    With Me.ListBox1
        .LinkedCell = ""
        .ListFillRange = ""
        For Each xCell In xRg
            If xCell <> "" Then
                .AddItem xCell.Value
            End If
        Next xCell
    End With
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub

Private Sub BTN_MoveSelectedLeft_Click()
    Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_MoveSelectedRight_Click()
    Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub

Private Sub BTN_moveAllLeft_Click()
    Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub

Private Sub BTN_moveAllRight_Click()
    Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub

Sub moveAll(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        xListBox2.AddItem xListBox1.List(I)
    Next I
    xListBox1.Clear
End Sub

Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
    Dim I As Long
    For I = 0 To xListBox1.ListCount - 1
        If I = xListBox1.ListCount Then Exit Sub
        If xListBox1.Selected(I) = True Then
            xListBox2.AddItem xListBox1.List(I)
            xListBox1.RemoveItem I
            I = I - 1
        End If
    Next
End Sub

 документ перемещает элементы между списком 14

9. Затем перейдите на другой лист, затем вернитесь к листу, содержащему списки, теперь вы можете видеть, что данные списка были перечислены в первом одном окне списка. И нажимайте кнопки команд, чтобы перемещать элементы между двумя списками.
документ перемещает элементы между списком 15

Переместить выделение

документ перемещает элементы между списком 16 стрелка вправо документ перемещает элементы между списком 17

Переместить все

документ перемещает элементы между списком 18 стрелка вправо документ перемещает элементы между списком 19

Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

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

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (1)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Мой excel перестает отвечать на запросы после запуска этого кода. В чем может быть проблема?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL