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ę lub Nazwa Firmy 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
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
- Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
- Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
- Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
- Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
- Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
- Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
- Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
- Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
- Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.

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!
