Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako hitro premakniti predmete med dvema seznamoma v Excelu?

Ste kdaj poskušali premakniti predmete iz enega seznama na drugo polje s seznamom, kot ga potrebujete, kot je prikazano na sliki spodaj? Tukaj bom govoril o tej operaciji v Excelu.

doc premika predmete med seznamom 1 doc arrow desno doc premika predmete med seznamom 2

Premaknite predmete med seznami


Premaknite predmete med seznami


Ni vgrajene funkcije, ki vam lahko pomaga dokončati delo, vendar imam kodo VBA, lahko storite uslugo.

1. Najprej morate ustvariti seznam podatkov, ki bodo prikazani kot elementi v seznamskih poljih na novem listu, ki ga pokličete Admin_Lists.
doc premika predmete med seznamom 3

2. Nato izberite te podatke in pojdite na Imenu polje, da jim daste ime ItemList. Prikaz slike:
doc premika predmete med seznamom 4

3. Nato v listu, ki vsebuje dva polja s seznamom, kliknite Razvojni > Vstavi > Seznam seznama (Active X Control), in narišite dve sezname. Prikaz slike:

doc premika predmete med seznamom 5 doc arrow desno doc premika predmete med seznamom 6

Če Razvojni jeziček je skrit vaš trak, Kako prikazati / prikazati jeziček razvijalca v Excelu 2007 / 2010 / 2013 traku? ta članek vam pove, kako ga pokažete.

4. Nato kliknite Razvojni > Vstavi > Gumb za urejanje (aktivna kontrola X), in narišite štiri gumbe med dvema seznamoma. Prikaz slike:

doc premika predmete med seznamom 7 doc arrow desno doc premika predmete med seznamom 8

Zdaj, da preimenuj štiri ukazne gumbe z novimi imeni.

5. Izberite prvi gumb za ukaz, kliknite Nepremičnine, in v Nepremičnine podokno, podajte ime BTN_moveAllRight do nje in vnesite >> v besedilno polje poleg napis. Prikaz slike:
doc premika predmete med seznamom 9

6. Ponovite korak 5, da preimenujete zadnji trije ukazni gumb z spodnjimi imeni in v naslove vnesite tudi drugo puščico. Prikaz slike:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_MoveSelectedLeft

doc premika predmete med seznamom 10 doc premika predmete med seznamom 11 doc premika predmete med seznamom 12

7. Z desno miškino tipko kliknite ime lista, ki vsebuje seznamska polja in ukazne gumbe in izberite Ogled kode iz kontekstnega menija. Prikaz slike:
doc premika predmete med seznamom 13

8. Kopirajte in prilepite pod makro kodo v Moduli skripta in shranite kodo ter zaprite Microsoft Visual Basic za aplikacije okno. Oglejte si sliko

VBA: premakne predmete 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

doc premika predmete med seznamom 14

9. Potem pojdite na drugi list, nato pa se vrnite na list vsebuje polja s seznamom, zdaj si lahko ogledate, da so bili seznami seznamov v prvem polju s seznamom. Kliknite ukazne gumbe za premikanje elementov med dvema seznamoma.
doc premika predmete med seznamom 15

Premakni izbor

doc premika predmete med seznamom 16 doc arrow desno doc premika predmete med seznamom 17

Premakni vse

doc premika predmete med seznamom 18 doc arrow desno doc premika predmete med seznamom 19


Priporočena orodja za produktivnost za Excel

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Pius · 7 months ago
    My excel becomes unresponsive after running this code. what could be the problem?