Hoe snel items tussen twee keuzelijsten in Excel verplaatsen?
Heb je ooit geprobeerd om de items van de ene keuzelijst naar de andere te verplaatsen, zoals je nodig hebt, zoals hieronder wordt getoond? Hier zal ik het hebben over deze bewerking in Excel.
Verplaats items tussen keuzelijsten
Verplaats items tussen keuzelijsten
Er is geen ingebouwde functie die u kan helpen de klus te klaren, maar ik heb een VBA-code die een plezier kan doen.
1. Ten eerste moet u een lijst met gegevens maken die wordt weergegeven als items in keuzelijsten in een nieuw blad met de naam Admin_Lijsten.
2. Selecteer vervolgens deze gegevens en ga naar het Naam doos om ze een naam te geven Lijst met dingen. Zie screenshot:
3. Klik vervolgens op een blad met de twee keuzelijsten Ontwikkelaar > Invoegen > List Box (Active X Control)en teken twee keuzelijsten. Zie screenshot:
Indien de Ontwikkelaar tabblad is verborgen uw lint, Hoe het ontwikkelaarstabblad in Excel 2007/2010/2013 Ribbon weergeven / weergeven? in dit artikel leest u hoe u het kunt laten zien.
4. Dan klikken Ontwikkelaar > Invoegen > Commandoknop (Active X Control)en teken vier knoppen tussen twee keuzelijsten. Zie screenshot:
Nu om de vier opdrachtknoppen een nieuwe naam te geven.
5. Selecteer de eerste opdrachtknop en klik op Properties, en in de Properties geef een naam op BTN_moveAllRight eraan toe en typ >> in het tekstvak ernaast Onderschrift. Zie screenshot:
6. Herhaal stap 5 om de naam van de laatste drie opdrachtknoppen te wijzigen met onderstaande namen, en typ ook de andere pijl in de bijschriften. Zie screenshot:
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLinks
7. Klik met de rechtermuisknop op de bladnaam die de keuzelijsten en opdrachtknoppen bevat, en selecteer Bekijk code vanuit het contextmenu. Zie screenshot:
8. Kopieer en plak de onderstaande macrocode in het Module script sla vervolgens de code op en sluit het Microsoft Visual Basic voor toepassingen venster. Zie screenshot
VBA: verplaats items tussen twee keuzelijsten
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. Ga dan naar een ander blad en ga terug naar het blad met de keuzelijsten, nu kunt u zien dat de lijstgegevens in de eerste lijst staan. En klik op de opdrachtknoppen om de items tussen twee keuzelijsten te verplaatsen.
Selectie verplaatsen
Verplaats alles
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!