Note: The other languages of the website are Google-translated. Back to English

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.

doc przenosi elementy między oknem listy 1 strzałka doc w prawo doc przenosi elementy między oknem listy 2

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.
doc przenosi elementy między oknem listy 3

2. Następnie wybierz te dane i przejdź do Imię lub Nazwa Firmy pole, aby nadać im nazwę Lista przedmiotów. Zobacz zrzut ekranu:
doc przenosi elementy między oknem listy 4

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:

doc przenosi elementy między oknem listy 5 strzałka doc w prawo doc przenosi elementy między oknem listy 6

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:

doc przenosi elementy między oknem listy 7 strzałka doc w prawo doc przenosi elementy między oknem listy 8

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:
doc przenosi elementy między oknem listy 9

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

doc przenosi elementy między oknem listy 10 doc przenosi elementy między oknem listy 11 doc przenosi elementy między oknem listy 12

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:
doc przenosi elementy między oknem listy 13

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

 doc przenosi elementy między oknem listy 14

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.
doc przenosi elementy między oknem listy 15

Przenieś zaznaczenie

doc przenosi elementy między oknem listy 16 strzałka doc w prawo doc przenosi elementy między oknem listy 17

Przenieś wszystko

doc przenosi elementy między oknem listy 18 strzałka doc w prawo doc przenosi elementy między oknem listy 19

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 kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (1)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Mój Excel przestaje odpowiadać po uruchomieniu tego kodu. jaki może być problem?
Nie ma tu jeszcze żadnych komentarzy

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL