Перейти к основному содержанию

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

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

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

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


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

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

1. Во-первых, вам необходимо создать список данных, которые будут отображаться как элементы в списках на новом листе, который называется Админ_списки.
документ перемещает элементы между списком 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 AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

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

Описание


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
My excel becomes unresponsive after running this code. what could be the problem?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations