Làm thế nào để tạo danh sách thả xuống với nhiều lựa chọn hoặc giá trị trong Excel?
Theo mặc định, bạn chỉ có thể chọn một mục trong danh sách thả xuống xác thực dữ liệu trong Excel. Làm thế nào bạn có thể thực hiện nhiều lựa chọn trong danh sách thả xuống như hình gif bên dưới? Các phương pháp trong bài viết này có thể giúp bạn giải quyết vấn đề.
Hướng dẫn khác cho danh sách thả xuống ...
Tạo danh sách thả xuống với nhiều lựa chọn bằng mã VBA
Phần này cung cấp hai mã VBA để giúp bạn thực hiện nhiều lựa chọn trong danh sách thả xuống trong một trang tính. Hai mã VBA có thể đạt được:
Bạn có thể áp dụng một trong các mã VBA sau để thực hiện nhiều lựa chọn trong danh sách thả xuống trong trang tính trong Excel. Hãy làm như sau.
1. Mở trang tính có chứa danh sách thả xuống xác thực dữ liệu mà từ đó bạn muốn thực hiện nhiều lựa chọn. Nhấp chuột phải vào tab trang tính và chọn Mã Chế độ xem từ trình đơn ngữ cảnh.
2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, sao chép mã VBA bên dưới vào cửa sổ mã. Xem ảnh chụp màn hình:
Mã VBA 1: Cho phép nhiều lựa chọn trong danh sách thả xuống mà không có bản sao
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
3. Nhấn nút Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.
Bây giờ bạn có thể chọn nhiều mục từ danh sách thả xuống trong trang tính hiện tại.
Giả sử bạn đã vô tình chọn một mục và cần xóa nó mà không xóa toàn bộ ô và bắt đầu lại. Mã VBA 2 sau đây có thể giúp bạn.
Mã VBA 2: Cho phép nhiều lựa chọn trong danh sách thả xuống mà không có các mục trùng lặp (xóa các mục hiện có bằng cách chọn lại)
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2023/01/11
'Updated by Ken Gardner 2022/07/11
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
Dim semiColonCnt As Integer
Dim xType As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
xType = 0
xType = Target.Validation.Type
If xType = 3 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
xValue1 = Replace(xValue1, "; ", "")
xValue1 = Replace(xValue1, ";", "")
Target.Value = xValue1
ElseIf InStr(1, xValue1, "; " & xValue2) Then
xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
Target.Value = xValue1
ElseIf InStr(1, xValue1, xValue2 & ";") Then
xValue1 = Replace(xValue1, xValue2, "")
Target.Value = xValue1
Else
Target.Value = xValue1 & "; " & xValue2
End If
Target.Value = Replace(Target.Value, ";;", ";")
Target.Value = Replace(Target.Value, "; ;", ";")
If Target.Value <> "" Then
If Right(Target.Value, 2) = "; " Then
Target.Value = Left(Target.Value, Len(Target.Value) - 2)
End If
End If
If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
Target.Value = Replace(Target.Value, "; ", "", 1, 1)
End If
If InStr(1, Target.Value, ";") = 1 Then
Target.Value = Replace(Target.Value, ";", "", 1, 1)
End If
semiColonCnt = 0
For i = 1 To Len(Target.Value)
If InStr(i, Target.Value, ";") Then
semiColonCnt = semiColonCnt + 1
End If
Next i
If semiColonCnt = 1 Then ' remove ; if last character
Target.Value = Replace(Target.Value, "; ", "")
Target.Value = Replace(Target.Value, ";", "")
End If
End If
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
Chú ý:
Dễ dàng tạo danh sách thả xuống với nhiều lựa chọn với một công cụ tuyệt vời
Ở đây chúng tôi thực sự khuyên bạn nên Danh sách thả xuống nhiều lựa chọn tính năng của Kutools cho Excel cho bạn. Với tính năng này, bạn có thể dễ dàng chọn nhiều mục từ danh sách thả xuống trong một phạm vi được chỉ định, trang tính hiện tại, sổ làm việc hiện tại hoặc tất cả các sổ làm việc đã mở khi bạn cần.
Trước khi áp dụng Kutools cho Excel, Xin vui lòng tải xuống và cài đặt nó trước tiên.
1. nhấp chuột Kutools > Danh sách thả xuống > Danh sách thả xuống nhiều lựa chọn > Cài đặt. Xem ảnh chụp màn hình:
2. bên trong Nhiều lựa chọn Cài đặt danh sách thả xuống hộp thoại, vui lòng cấu hình như sau.
- 2.1) Chỉ định phạm vi áp dụng trong Nộp đơn phần. Trong trường hợp này, tôi chọn Bảng tính hiện tại từ Phạm vi cụ thể danh sách thả xuống;
- 2.2) Trong Văn bản chỉ đạo phần, chọn một hướng văn bản dựa trên nhu cầu của bạn;
- 2.3) Trong máy phân ly , nhập dấu phân cách mà bạn sẽ sử dụng để phân tách nhiều giá trị;
- 2.4) Kiểm tra Không thêm bản sao hộp trong Các lựa chọn phần nếu bạn không muốn tạo bản sao trong các ô danh sách thả xuống;
- 2.5) Nhấp vào OK cái nút. Xem ảnh chụp màn hình:
3. Vui lòng nhấp vào Kutools > Danh sách thả xuống > Danh sách thả xuống nhiều lựa chọn để kích hoạt tính năng.
Giờ đây, bạn có thể chọn nhiều mục từ danh sách thả xuống trong trang tính hiện tại hoặc bất kỳ phạm vi nào bạn đã chỉ định trong bước 2.
Nếu bạn muốn dùng thử miễn phí (30-day) của tiện ích này, vui lòng nhấp để tải xuống, và sau đó đi đến áp dụng hoạt động theo các bước trên.
Các bài liên quan:
Tự động điền khi nhập trong Excel danh sách thả xuống
Nếu bạn có danh sách thả xuống xác thực dữ liệu với các giá trị lớn, bạn cần cuộn xuống danh sách chỉ để tìm giá trị phù hợp hoặc nhập trực tiếp toàn bộ từ vào hộp danh sách. Nếu có phương pháp cho phép tự động hoàn thành khi nhập ký tự đầu tiên trong danh sách thả xuống, mọi thứ sẽ trở nên dễ dàng hơn. Hướng dẫn này cung cấp phương pháp để giải quyết vấn đề.
Tạo danh sách thả xuống từ một sổ làm việc khác trong Excel
Khá dễ dàng để tạo danh sách sổ xuống xác thực dữ liệu giữa các trang tính trong sổ làm việc. Nhưng nếu dữ liệu danh sách bạn cần để xác thực dữ liệu nằm trong một sổ làm việc khác, bạn sẽ làm gì? Trong hướng dẫn này, bạn sẽ học cách tạo danh sách drop fown từ một sổ làm việc khác trong Excel một cách chi tiết.
Tạo danh sách thả xuống có thể tìm kiếm trong Excel
Đối với một danh sách thả xuống với nhiều giá trị, việc tìm một giá trị thích hợp không phải là một công việc dễ dàng. Trước đây, chúng tôi đã giới thiệu một phương pháp tự động hoàn thành danh sách thả xuống khi nhập ký tự đầu tiên vào hộp thả xuống. Bên cạnh chức năng tự động hoàn thành, bạn cũng có thể làm cho danh sách thả xuống có thể tìm kiếm được để nâng cao hiệu quả làm việc trong việc tìm kiếm các giá trị thích hợp trong danh sách thả xuống. Để làm cho danh sách thả xuống có thể tìm kiếm được, hãy thử phương pháp trong hướng dẫn này.
Tự động điền các ô khác khi chọn giá trị trong danh sách thả xuống của Excel
Giả sử bạn đã tạo một danh sách thả xuống dựa trên các giá trị trong phạm vi ô B8: B14. Khi bạn chọn bất kỳ giá trị nào trong danh sách thả xuống, bạn muốn các giá trị tương ứng trong phạm vi ô C8: C14 được tự động điền vào một ô đã chọn. Để giải quyết vấn đề, các phương pháp trong hướng dẫn này sẽ giúp bạn.
Các công cụ năng suất văn phòng tốt nhất
Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn
- Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
- Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
- Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
- Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
- Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
- Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
- Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
- Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
- Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.

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!
































