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

or

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

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

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

7. Щелкните правой кнопкой мыши на имени листа, который содержит поля списка и кнопки команд, и выберите Просмотреть код из контекстного меню. Смотрите скриншот:
doc перемещает элементы между списком 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

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

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

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

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

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

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

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.
    Pius · 9 months ago
    My excel becomes unresponsive after running this code. what could be the problem?