Salt la conținutul principal

Cum să mutați rapid elementele între două casete de listă din Excel?

Autor: Sun Ultima modificare: 2024-08-15

Ați încercat vreodată să mutați articolele dintr-o casetă de listă în alta în casetele de listă, așa cum aveți nevoie, așa cum este prezentat mai jos? Aici voi vorbi despre această operațiune în Excel.

o captură de ecran care arată casetele cu listă înainte de a muta elementele o captură de ecran a unei săgeți o captură de ecran care arată casetele cu listă după mutarea elementelor

Mutați elementele între casetele de listă


Mutați elementele între casetele de listă

Nu există nicio funcție încorporată care vă poate ajuta să terminați treaba, dar am un cod VBA care poate face o favoare.

1. În primul rând, trebuie să creați o listă de date care vor fi afișate ca elemente în casetele de listă într-o nouă foaie care a fost numită Admin_Lists.

o captură de ecran a datelor sursă

2. Apoi selectați aceste date și mergeți la Nume casetă pentru a le da un nume Lista de obiecte. Vedeți captura de ecran:

o captură de ecran cu denumirea datelor sursă în caseta Nume

3. Apoi, într-o foaie care va conține cele două casete de listă, faceți clic pe Dezvoltator > Insera > Casetă listă (Active X Control), și desenați două casete de listă. Vedeți captura de ecran:

o captură de ecran cu selectarea controlului List Box din fila Dezvoltator o captură de ecran cu săgeata dreapta o captură de ecran care arată două casete de listă create

În cazul în care Dezvoltator fila este ascunsă panglica dvs., Cum se afișează / se afișează fila dezvoltator în panglica Excel 2007/2010/2013? acest articol vă va spune cum să îl arătați.

4. Apoi apasa Dezvoltator > Insera > Buton de comandă (Active X Control)și desenați patru butoane între două casete de listă. Vedeți captura de ecran:

o captură de ecran cu selectarea controlului butonului de comandă o captură de ecran a unei săgeți la dreapta 1 o captură de ecran care arată butoanele de comandă create

Acum, pentru a redenumi cele patru butoane de comandă cu nume noi.

5. Selectați primul buton de comandă, faceți clic pe Proprietăţi, și în Proprietăţi , dați un nume BTN_moveAllRight la ea și tastați >> în caseta de text de lângă Legendă. Vedeți captura de ecran:

o captură de ecran care arată cum se schimbă proprietățile butonului de comandă

6. Repetați pasul 5 pentru a redenumi ultimul buton de comandă cu numele de mai jos și, de asemenea, tastați săgeata diferită în subtitrări. Vedeți captura de ecran:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

o captură de ecran a celui de-al doilea buton de comandă după modificarea proprietăților o captură de ecran a celui de-al treilea buton de comandă după modificarea proprietăților o captură de ecran a celui de-al patrulea buton de comandă după modificarea proprietăților

7. Faceți clic dreapta pe numele foii care conține casetele de listă și butoanele de comandă și selectați Afișați codul din meniul contextual. Vedeți captura de ecran:

o captură de ecran cu deschiderea editorului de cod VBA

8. Copiați și lipiți codul macro de mai jos în Module apoi salvați codul și închideți fișierul Microsoft Visual Basic pentru aplicații fereastră. Vezi captura de ecran

VBA: Mutați elementele între două casete de listă

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

o captură de ecran care arată cum să utilizați codul VBA

9. Apoi mergeți la o altă foaie, apoi reveniți la foaia conține casetele de listă, acum puteți vedea datele listei au fost listate în prima casetă de listă. Și faceți clic pe butoanele de comandă pentru a muta articolele între două casete de listă.

o captură de ecran care arată datele sursă într-o casetă listă după rularea codului VBA

Mutați selecția

o captură de ecran cu mutarea elementelor dintr-o casetă listă în alta, unul câte unul o captură de ecran a săgeții o captură de ecran care arată două elemente au fost mutate în caseta cu listă din dreapta

Mutați toate

o captură de ecran cu marcarea ce buton de comandă poate fi folosit pentru a muta toate elementele dintr-o listă în alta în același timp o captură de ecran cu săgeata 2 o captură de ecran care arată că toate elementele sunt mutate dintr-o casetă listă în alta în același timp

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!