Jak wybrać wiele elementów z rozwijanej listy do komórki w programie Excel?
Lista rozwijana jest często używana w codziennej pracy programu Excel. Domyślnie z listy rozwijanej można wybrać tylko jeden element. Ale czasami może być konieczne wybranie wielu elementów z rozwijanej listy do jednej komórki, jak pokazano na poniższym zrzucie ekranu. Jak sobie z tym poradzisz w programie Excel?
![]() |
![]() |
![]() |
Wybierz wiele elementów z rozwijanej listy do komórki za pomocą VBA
Łatwo i szybko wybierz wiele elementów z rozwijanej listy do komórki
Wybierz wiele elementów z rozwijanej listy do komórki za pomocą VBA
Oto kilka VBA, które mogą Ci pomóc w rozwiązaniu tego zadania.
Wybierz zduplikowane elementy z listy rozwijanej w komórce
1. Po utworzeniu listy rozwijanej kliknij prawym przyciskiem myszy kartę arkusza, aby ją wybrać Wyświetl kod z menu kontekstowego.
2. Następnie w Microsoft Visual Basic for Applications okno, skopiuj i wklej poniższy kod do pustego skryptu.
VBA: wybierz wiele elementów z rozwijanej listy w komórce
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
Dim xRgVal As Range
Dim xStrNew As String
On Error Resume Next
Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
xStrNew = Target.Value
Application.Undo
If xStrNew = Target.Value Then
Else
xStrNew = xStrNew & " " & Target.Value
Target.Value = xStrNew
End If
Application.EnableEvents = True
End Sub
3. Zapisz kod i zamknij okno, aby wrócić do listy rozwijanej. Teraz możesz wybrać wiele pozycji z rozwijanej listy.
Uwaga:
1. Dzięki VBA oddziela elementy spacjami, które możesz zmienić xStrNew = xStrNew & "" & Wartość docelowa innym, aby w razie potrzeby zmienić separator. Na przykład, xStrNew = xStrNew & "," & Wartość docelowa oddzieli elementy przecinkami.
2. Ten kod VBA działa dla wszystkich list rozwijanych w arkuszu.
Wybierz wiele elementów z listy rozwijanej do komórki bez powtarzania
Jeśli chcesz tylko wybrać unikalne elementy z rozwijanej listy do komórki, możesz powtórzyć powyższe kroki i użyć poniższego kodu.
VBA : Wybierz wiele elementów z listy rozwijanej do komórki bez powtarzania
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
Dim I As Integer
Dim xRgVal As Range
Dim xStrNew As String
Dim xStrOld As String
Dim xFlag As Boolean
Dim xArr
On Error Resume Next
Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
If Target.Value = "" Then Exit Sub
Application.EnableEvents = False
xFlag = True
xStrNew = " " & Target.Value & " "
Application.Undo
xStrOld = Target.Value
If InStr(1, xStrOld, xStrNew) = 0 Then
xStrNew = xStrNew & xStrOld & " "
Else
xStrNew = xStrOld
End If
Target.Value = xStrNew
Application.EnableEvents = True
End Sub
Oba powyższe kody VBA nie obsługują usuwania części zawartości komórki, obsługują tylko usuwanie wszystkich elementów komórki.
Łatwo i szybko wybierz wiele elementów z rozwijanej listy do komórki
W Excelu, z wyjątkiem kodu VBA, nie ma innych sposobów na zezwolenie na wiele elementów wybranych z listy rozwijanej w komórce. Jednakże Lista rozwijana wielokrotnego wyboru cechą Kutools for Excel może szybko i łatwo obsłużyć to zadanie za pomocą kliknięć.
Krok 1: Wybierz Kutools > Lista rozwijana > Lista rozwijana wielokrotnego wyboru
Krok 2: W oknie dialogowym Lista rozwijana wielokrotnego wyboru określ ustawienia
- Ustaw zakres;
- Określ separator dla elementów rozdzielających w komórce;
- Zdecyduj kierunek tekstu;
- Kliknij przycisk OK.
Wynik:
Z łatwością utwórz dynamiczną listę rozwijaną zależną od 2 lub wielu poziomów w programie Excel
|
W programie Excel utworzenie 2-poziomowej lub wielopoziomowej listy rozwijanej jest skomplikowane. Tutaj Dynamiczna lista rozwijana użyteczność Kutools for Excel może zrobić ci przysługę. Jedyne, co musisz zrobić, to uporządkować dane zgodnie z przykładem, a następnie wybrać zakres danych i zakres wyjściowy, a następnie pozostawić to narzędziu. Kliknij, aby 30 dni bezpłatnego okresu próbnego! |
![]() |
Kutools for Excel: z ponad 300 przydatnymi dodatkami programu Excel, które można bezpłatnie wypróbować bez ograniczeń 30 dni. |
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Exceli doświadcz wydajności jak nigdy dotąd. Kutools for Excel Oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Office Tab Wprowadza interfejs z kartami 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!





















