Як швидко перемістити елементи між двома полями списку в Excel?
Ви коли-небудь намагалися перемістити елементи з одного вікна списку в інше одне, як вам потрібно, як показано на знімку екрана нижче? Тут я розповім про цю операцію в Excel.
![]() |
![]() |
![]() |
Переміщення елементів між полями списку
Переміщення елементів між полями списку
Немає вбудованої функції, яка може допомогти вам закінчити роботу, але у мене є код VBA, який може зробити послугу.
1. По-перше, вам потрібно створити список даних, які відображатимуться як елементи у вікнах списку на новому аркуші, який викликається Списки адміністраторів.
2. Потім виберіть ці дані та перейдіть до Назва , щоб дати їм ім'я ItemList. Дивіться знімок екрана:
3. Потім клацніть на аркуші, який містить два поля зі списком Розробник > Insert > Вікно списку (Active X Control), і намалюйте два списки. Дивіться знімок екрана:
![]() |
![]() |
![]() |
Якщо Розробник вкладка прихована ваша стрічка, Як показати / відобразити вкладку розробника у стрічці Excel 2007/2010/2013? ця стаття розповість вам, як це показати.
4 Потім натисніть Розробник > Insert > Кнопка керування (Active X Control), і намалюйте чотири кнопки між двома списками. Дивіться знімок екрана:
![]() |
![]() |
![]() |
Тепер перейменуйте чотири командні кнопки новими іменами.
5. Виберіть першу командну кнопку, натисніть властивості, і в властивості панель, дайте ім’я BTN_moveAllRight до нього і введіть >> у текстове поле поруч Підпис. Дивіться знімок екрана:
6. Повторіть крок 5, щоб перейменувати останні три командні кнопки з назвами нижче, а також введіть різну стрілку в заголовки. Дивіться знімок екрана:
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLeft
![]() |
![]() |
![]() |
7. Клацніть правою кнопкою миші на назві аркуша, що містить поле зі списком та кнопки команд, та виберіть Переглянути код з контекстного меню. Дивіться знімок екрана:
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
9. Потім перейдіть на інший аркуш, потім поверніться до аркуша, що містить поле зі списком, тепер ви можете бачити, що дані списку були в списку в першому одному списку. І натисніть на командні кнопки, щоб перемістити елементи між двома полями списку.
Перемістити виділення
![]() |
![]() |
![]() |
Перемістити всіх
![]() |
![]() |
![]() |
Найкращі інструменти для підвищення продуктивності офісу
Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%
- Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
- Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
- Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
- Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
- Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
- Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
- Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
- Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
- Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
