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 orodja za pisarniško produktivnost
Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%
- Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
- Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
- Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
- Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
- Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
- Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
- Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
- Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
- Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše 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!
