Як швидко перемістити елементи між двома полями списку в 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. Потім перейдіть на інший аркуш, потім поверніться до аркуша, що містить поле зі списком, тепер ви можете бачити, що дані списку були в списку в першому одному списку. І натисніть на командні кнопки, щоб перемістити елементи між двома полями списку.
Перемістити виділення
Перемістити всіх
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!