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?
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.
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.
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
- Đặt phạm vi;
- Chỉ định dấu phân cách cho các mục phân cách trong một ô;
- Quyết định hướng văn bản;
- Nhấp vào OK.
Kết quả:
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! |
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
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 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!