Bỏ qua nội dung chính

Làm cách nào để chọn nhiều mục từ danh sách thả xuống vào một ô trong Excel?

Danh sách thả xuống thường được sử dụng trong công việc hàng ngày của Excel. Theo mặc định, chỉ có thể chọn một mục trong danh sách thả xuống. Nhưng trong một số trường hợp, bạn có thể cần phải chọn nhiều mục từ danh sách thả xuống vào một ô duy nhất như hình minh họa bên dưới. Làm thế nào bạn có thể xử lý nó trong Excel?

doc chọn nhiều mục từ danh sách thả xuống 1 mũi tên doc sang phải doc chọn nhiều mục từ danh sách thả xuống 2

Chọn nhiều mục từ danh sách thả xuống vào một ô có VBA

Chọn nhiều mục từ danh sách thả xuống vào một ô dễ dàng và nhanh chóng


Chọn nhiều mục từ danh sách thả xuống vào một ô có VBA

Dưới đây là một số VBA có thể giúp bạn giải quyết công việc này.

Chọn các mục trùng lặp từ danh sách thả xuống trong một ô

1. Sau khi tạo danh sách thả xuống, nhấp chuột phải vào tab trang tính để chọn Mã Chế độ xem từ trình đơn ngữ cảnh.
doc chọn nhiều mục từ danh sách thả xuống 3

2. Sau đó trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép và dán mã bên dưới vào tập lệnh trống.

VBA: Chọn nhiều mục từ danh sách thả xuống trong một ô

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. Lưu mã và đóng cửa sổ để quay lại danh sách thả xuống. Bây giờ bạn có thể chọn nhiều mục từ danh sách thả xuống.

Lưu ý:

1. Với VBA, nó phân tách các mục theo khoảng trắng, bạn có thể thay đổi xStrNew = xStrNew & "" & Giá trị của mục tiêu cho những người khác để thay đổi dấu phân cách khi bạn cần. Ví dụ, xStrNew = xStrNew & "," & Giá trị của mục tiêu sẽ ngăn cách các mục bằng dấu phẩy.

2. Mã VBA này hoạt động cho tất cả danh sách thả xuống trong trang tính.

Chọn nhiều mục từ danh sách thả xuống vào một ô mà không lặp lại

Nếu bạn chỉ muốn chọn các mục duy nhất từ ​​danh sách thả xuống vào một ô, bạn có thể lặp lại các bước trên và sử dụng mã bên dưới.

VBA : Chọn nhiều mục từ danh sách thả xuống vào một ô mà không lặp lại

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

Cả hai mã VBA trên không hỗ trợ xóa các phần của nội dung ô, chỉ hỗ trợ xóa tất cả các mục của ô.


Chọn nhiều mục từ danh sách thả xuống vào một ô dễ dàng và nhanh chóng

Trong Excel, ngoại trừ mã VBA, không có cách nào khác để cho phép nhiều mục được chọn từ danh sách thả xuống trong một ô. Tuy nhiên, các Danh sách thả xuống nhiều lựa chọn tính năng của Kutools cho Excel có thể nhanh chóng và dễ dàng xử lý công việc này bằng những cú nhấp chuột.

Mẹo: Trước khi áp dụng công cụ này, trước tiên hãy cài đặt Kutools for Excel. Tải xuống miễn phí ngay bây giờ.
Bước 1: Chọn Kutools > Danh sách thả xuống > Danh sách thả xuống nhiều lựa chọn
Bước 2: Trong hộp thoại Danh sách thả xuống nhiều lựa chọn, hãy chỉ định cài đặt
  1. Đặt phạm vi;
  2. Chỉ định dấu phân cách cho các mục phân cách trong một ô;
  3. Quyết định hướng văn bản;
  4. Nhấp vào OK.
    doc chọn nhiều mục từ danh sách thả xuống kte 1
Kết quả:

chọn nhiều mục từ danh sách thả xuống kutools

Chú thích: Để sử dụng tính năng Danh sách thả xuống nhiều lựa chọn, trước tiên bạn nên cài đặt Kutools for Excel nhấp để tải xuống và dùng thử miễn phí 30 ngày ngay bây giờ.

Dễ dàng tạo danh sách thả xuống phụ thuộc 2 cấp hoặc nhiều cấp động trong Excel

Trong Excel, để tạo danh sách thả xuống 2 cấp hoặc nhiều cấp rất phức tạp. Đây Danh sách thả xuống động tiện ích của Kutools cho Excel có thể giúp bạn một việc. Những gì bạn chỉ cần làm là sắp xếp dữ liệu như ví dụ được hiển thị, sau đó chọn phạm vi dữ liệu và phạm vi đầu ra, sau đó để nó cho tiện ích.  Nhấp để dùng thử miễn phí 30 ngày!
doc các hàng kết hợp nâng cao
 
Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.

Công cụ năng suất văn phòng tốt nhất

Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

tab kte 201905


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (26)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Como posso utilizar a função com a planilha bloqueada?
This comment was minimized by the moderator on the site
Hi, Macros, try below code, it supports to select multi items in drop down list in protected sheet.
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20221111
    Dim xRgVal As Range
    Dim xStrNew As String
    On Error Resume Next  
    xType = 0
    xType = Target.Validation.Type
    If xType <> 3 Then Exit Sub
    If (Target.Count > 1) 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

And also Kutools for Excel 26.1 and later versions supports this job in protected sheet.
This comment was minimized by the moderator on the site
¿Cómo puedo hacer para que el orden en que se coloque el texto, sea tan cuál como yo quiera?

Ejemplo:
Mi texto para la lista es:
TRAMITAR ESTE ASUNTO
COORDINAR
ANALIZAR Y RECOMENDAR

sí selecciono:
TRAMITAR ESTE ASUNTO
ANALIZAR Y RECOMENDAR

me aparece
ANALIZAR Y RECOMENDAR, TRAMITAR ESTE ASUNTO

o sea, los de abajo me aparecen primero, pero quiero que sea en el orden en que voy seleccionando...
TRAMITAR ESTE ASUNTO, ANALIZAR Y RECOMENDAR.....
This comment was minimized by the moderator on the site
Hi, Gorgelys, Kutools's multi-select drop down list can help you. The items you selected will be in the order like you want.
This comment was minimized by the moderator on the site
the code works but won't let me delete can someone please post the new code.
This comment was minimized by the moderator on the site
bonjour,
selon le premier exemple tout fonctionne très bien jusqu'à ce que je verrouille la feuille.
quand la feuille est verrouillée, je n'ai plus le choix multiple !
comment faire ?
merci par avance
This comment was minimized by the moderator on the site
Hi, sorry for that. We will upgrade our feature next version to avoid this problem. Thank you for your feekback.
This comment was minimized by the moderator on the site
Merci bcp
Mais à quand la nouvelle version ?
This comment was minimized by the moderator on the site
Hi, we have updated this version for you, but this is a beta version, please download it from this: https://download.extendoffice.com/downloads/Kutools-for-Excel/beta/26.10/KutoolsforExcelSetup.Inno.exe
If there are any problems, welcome for your feedback.
This comment was minimized by the moderator on the site
Merci,
Je vais la télécharger et essayer.
Bonne journée
This comment was minimized by the moderator on the site
Hi, the new version is in planning, since next version will upgrade multiple features, it may take somewhat time.
This comment was minimized by the moderator on the site
Hi! Como puedo usar este codigo para todo un worksheet y no solo para una pestana?
This comment was minimized by the moderator on the site
Hi, Vero, Kutools for Excel's Multi-select Drop-down List feature suports selecting multiple items from drop down list in the whole worksheet or across workbook, just specify the Specified Scope in the Multi-select Drop-down List Settings dialog.
This comment was minimized by the moderator on the site
How can I do that for the fist formula you provided :) Thanks in advanced!
This comment was minimized by the moderator on the site
Quando quero deletar alguma opção ou todas dá erro. Como posso resolver?
This comment was minimized by the moderator on the site
I am also finding that after selecting multiple items using the updated VBA code, I still cannot clear the cell, it just keeps multiplying.
Does anyone have a solution for this yet?
This comment was minimized by the moderator on the site
Hi, Rusty, the code I have updated for making it more stable. But because the cell is in data validation, blank is out of data validation, the code cannot solve this problem.
This comment was minimized by the moderator on the site
the code works but carries over across all cells and multiplies in the cells and wont allow delete can you assist?
This comment was minimized by the moderator on the site
If I create a sheet with dropdown list using checkboxes, is there a way to share this workbook with this checkboxes feature?
This comment was minimized by the moderator on the site
How would you apply this functionality but making it so that there aren't redundant values? Any help would be appreciated!
This comment was minimized by the moderator on the site
I used this "Select multiple items from drop down list to a cell without repeat"
this is what happened
1. Multiple selections happen without problems.
2. The issue is when i try to edit and remove an option. There is no way for me to remove an option. it keeps multiplying.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations