Hoppa till huvudinnehåll

Hur flyttar jag snabbt objekt mellan två listrutor i Excel?

Författare: Sun Senast ändrad: 2024-08-15

Har du någonsin försökt flytta objekten från en listruta till en annan listrutor som du behöver enligt nedanstående skärmdump? Här kommer jag att prata om denna operation i Excel.

en skärmdump som visar listrutorna innan objekt flyttas en skärmdump av en pil en skärmdump som visar listrutorna efter att objekt har flyttats

Flytta objekt mellan listrutor


Flytta objekt mellan listrutor

Det finns ingen inbyggd funktion som kan hjälpa dig att slutföra jobbet, men jag har en VBA-kod kan göra en tjänst.

1. För det första måste du skapa en lista med data som visas som objekten i listrutorna i ett nytt ark som ringde Admin_Lists.

en skärmdump av källdata

2. Välj sedan dessa data och gå till Namn rutan för att ge dem ett namn Varulista. Se skärmdump:

en skärmdump av att namnge källdata i rutan Namn

3. Klicka sedan på ett ark som innehåller de två listrutorna Utvecklare > Insert > Listbox (Active X Control)och rita två listrutor. Se skärmdump:

en skärmdump av att välja kontrollen Listbox under fliken Utvecklare en skärmdump av högerpilen en skärmdump som visar två skapade listrutor

Om Utvecklare fliken är dold ditt band, Hur visar / visa fliken utvecklare i Excel 2007/2010/2013 Ribbon? den här artikeln kommer att berätta hur du visar den.

4. Klicka sedan Utvecklare > Insert > Kommando-knapp (Active X-kontroll), och rita fyra knappar mellan två listrutor. Se skärmdump:

en skärmdump av att välja kommandoknappskontroll en skärmdump av en högerpil 1 en skärmdump som visar de skapade kommandoknapparna

Nu för att byta namn på de fyra kommandoknapparna med nya namn.

5. Välj första kommandoknappen, klicka Våra Bostäder, och i Våra Bostäder fönstret, ge ett namn BTN_moveAllRight till det och skriv >> i textrutan bredvid Bildtext. Se skärmdump:

en skärmdump som visar hur man ändrar egenskaperna för kommandoknappen

6. Upprepa steg 5 för att byta namn på de tre sista kommandoknappen med nedanstående namn och skriv också in olika pil i bildtexterna. Se skärmdump:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

en skärmdump av den andra kommandoknappen efter att ha ändrat egenskaperna en skärmdump av den tredje kommandoknappen efter att ha ändrat egenskaperna en skärmdump av den fjärde kommandoknappen efter att ha ändrat egenskaperna

7. Högerklicka på arknamnet som innehåller listrutorna och kommandoknapparna och välj Visa kod från snabbmenyn. Se skärmdump:

en skärmdump av att öppna VBA-kodredigeraren

8. Kopiera och klistra in nedanför makrokoden till Modulerna spara sedan koden och stäng Microsoft Visual Basic för applikationer fönster. Se skärmdump

VBA: Flytta objekt mellan två listrutor

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

en skärmdump som visar hur man använder VBA-koden

9. Gå sedan till ett annat ark och gå sedan tillbaka till arket innehåller listrutorna, nu kan du se listdata har listats i den första listrutan. Och klicka på kommandoknapparna för att flytta objekten mellan två listrutor.

en skärmdump som visar källdata i en listruta efter att ha kört VBA-koden

Flytta markeringen

en skärmdump av att flytta objekt från en listruta till en annan en efter en en skärmdump av pilen en skärmdump som visar att två objekt har flyttats till den högra listrutan

Flytta alla

en skärmdump som markerar vilken kommandoknapp som kan användas för att flytta alla objekt från en lista till en annan samtidigt en skärmdump av pil 2 en skärmdump som visar att alla objekt flyttas från en listruta till en annan samtidigt

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!