Kako hitro premakniti elemente med dvema seznamoma v Excelu?
Ste že kdaj poskusili premakniti elemente iz enega seznamskega polja v drugo en seznam, kot potrebujete, kot je prikazano na spodnji sliki zaslona? Tukaj bom govoril o tej operaciji v Excelu.
![]() |
![]() |
![]() |
Premaknite elemente med polji s seznami
Premaknite elemente med polji s seznami
Vgrajena funkcija vam ne more pomagati dokončati dela, vendar imam kodo VBA, ki vam lahko pomaga.
1. Najprej morate ustvariti seznam podatkov, ki bodo prikazani kot elementi v seznamskih poljih na novem listu, ki je poklican Admin_Lists.
2. Nato izberite te podatke in pojdite na Ime polje, da jim daste ime Seznam predmetov. Oglejte si posnetek zaslona:
3. Nato na listu, ki bo vseboval dve polji s seznamom, kliknite Razvojni > Vstavi > List List (Active X Control)in narišite dve polji s seznamom. Oglejte si posnetek zaslona:
![]() |
![]() |
![]() |
Če Razvojni zavihek je skrit vaš trak, Kako prikazati / prikazati zavihek za razvijalce v traku Excel 2007/2010/2013? ta članek vam bo povedal, kako to pokazati.
4. Nato kliknite Razvojni > Vstavi > Gumb za ukaze (Active X Control)in narišite štiri gumbe med dvema seznamoma. Oglejte si posnetek zaslona:
![]() |
![]() |
![]() |
Zdaj pa preimenujte štiri ukazne gumbe z novimi imeni.
5. Izberite prvi ukazni gumb, kliknite Nepremičnine, in v Nepremičnine podokno, navedite ime BTN_moveAllRight in vnesite >> v besedilno polje poleg napis. Oglejte si posnetek zaslona:
6. Ponovite 5. korak, da preimenujete zadnje tri ukazne gumbe s spodnjimi imeni in v napise vnesite tudi drugo puščico. Oglejte si posnetek zaslona:
BTN_PremakniIzbranoDesno
BTN_premakniVseLevo
BTN_Premakni izbranolevo
![]() |
![]() |
![]() |
7. Z desno miškino tipko kliknite ime lista, ki vsebuje seznamska polja in ukazne gumbe, in izberite Ogled kode iz kontekstnega menija. Oglejte si posnetek zaslona:
8. Kopirajte in prilepite spodnjo kodo makra v Moduli skript, nato shranite kodo in zaprite Microsoft Visual Basic za aplikacije okno. Oglejte si posnetek zaslona
VBA: premikanje elementov med dvema seznamoma
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. Nato pojdite na drug list, nato se vrnite na list, ki vsebuje polja s seznamom, zdaj lahko vidite, da so bili podatki seznama v prvem seznamskem polju. In kliknite na ukazne gumbe, da premikate elemente med dvema seznamoma.
Premakni izbor
![]() |
![]() |
![]() |
Premakni vse
![]() |
![]() |
![]() |
Najboljša pisarniška orodja za produktivnost
Napolnite svoje Excelove spretnosti z Kutools for Excel, in izkusite učinkovitost kot še nikoli prej. Kutools for Excel Ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa. Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...
Office Tab Prinaša vmesnik z zavihki v Office in vam olajša delo
- Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
- Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
- Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
