Jak szybko przenosić elementy między dwoma listami w programie Excel?
Czy kiedykolwiek próbowałeś przenieść elementy z jednego pola listy do drugiego, tak jak potrzebujesz, jak pokazano na poniższym zrzucie ekranu? Tutaj opowiem o tej operacji w Excelu.
Przenoszenie elementów między listami wartości
Przenoszenie elementów między listami wartości
Nie ma wbudowanej funkcji, która mogłaby pomóc w zakończeniu pracy, ale mam kod VBA, który może zrobić przysługę.
1. Po pierwsze, musisz utworzyć listę danych, które będą wyświetlane jako pozycje w listach wartości w nowym arkuszu o nazwie Listy_administratorów.
2. Następnie wybierz te dane i przejdź do Imię pole, aby nadać im nazwę Lista przedmiotów. Zobacz zrzut ekranu:
3. Następnie w arkuszu, który będzie zawierał dwa pola listy, kliknij Deweloper > wstawka > Pole listy (aktywna kontrolka X)i narysuj dwa pola listy. Zobacz zrzut ekranu:
Jeśli Deweloper zakładka jest ukryta twoja wstążka, Jak wyświetlić / wyświetlić kartę programisty na wstążce programu Excel 2007/2010/2013? w tym artykule dowiesz się, jak to pokazać.
4. Następnie kliknij Deweloper > wstawka > Przycisk polecenia (Active X Control)i narysuj cztery przyciski między dwoma polami listy. Zobacz zrzut ekranu:
Teraz, aby zmienić nazwy czterech przycisków poleceń na nowe nazwy.
5. Wybierz pierwszy przycisk polecenia, kliknij Właściwości, oraz w Właściwości okienko, podaj nazwę BTN_moveAllRight do niego i wpisz >> w pole tekstowe obok Podpis. Zobacz zrzut ekranu:
6. Powtórz krok 5, aby zmienić nazwę ostatnich trzech przycisków polecenia z poniższymi nazwami, a także wpisz inną strzałkę w podpisach. Zobacz zrzut ekranu:
BTN_MoveSelectedW prawo
BTN_moveAllLeft
BTN_PrzesuńWybraneW lewo
7. Kliknij prawym przyciskiem myszy nazwę arkusza, który zawiera pola list i przyciski poleceń, i wybierz Wyświetl kod z menu kontekstowego. Zobacz zrzut ekranu:
8. Skopiuj i wklej poniższy kod makra do pliku Moduł skrypt, a następnie zapisz kod i zamknij plik Microsoft Visual Basic for Applications okno. Zobacz zrzut ekranu
VBA: Przenieś elementy między dwoma polami listy
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. Następnie przejdź do innego arkusza, a następnie wróć do arkusza zawierającego pola listy. Teraz możesz zobaczyć, że dane listy zostały wymienione w pierwszym polu listy. I kliknij przyciski poleceń, aby przenieść elementy między dwoma polami listy.
Przenieś zaznaczenie
Przenieś wszystko
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!