Как бързо да премествате елементи между две списъчни полета в Excel?
Опитвали ли сте някога да преместите елементите от едно списъчно поле в друго списъчни полета, както ви е необходимо, както е показано на екранната снимка по-долу? Тук ще говоря за тази операция в Excel.
Преместване на елементи между списъчните полета
Преместване на елементи между списъчните полета
Няма вградена функция, която да ви помогне да завършите работата, но имам VBA код, който може да ви направи услуга.
1. Първо, трябва да създадете списък с данни, които ще се показват като елементи в списъчните полета в нов лист, който се нарича Admin_Lists.
2. След това изберете тези данни и отидете на Име кутия, за да им даде име ItemList. Вижте екранна снимка:
3. След това в лист, който ще съдържа двете списъчни полета, щракнете Софтуерен Инженер > Поставете > Списъчно поле (Active X Control)и нарисувайте две списъчни полета. Вижте екранна снимка:
Ако Софтуерен Инженер разделът е скрит вашата лента, Как да покажа/покажа раздела за програмисти в лентата на Excel 2007/2010/2013? тази статия ще ви каже как да го покажете.
4. След това кликнете Софтуерен Инженер > Поставете > Команден бутон (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% и намалява стотици кликвания на мишката за вас всеки ден!