Làm cách nào để tạo hộp danh sách xếp tầng động trong Excel?
Bạn có thể biết cách tạo danh sách thả xuống xác thực theo tầng trong Excel. Tuy nhiên, làm thế nào để tạo hộp danh sách xếp tầng động trong Excel? Bài viết này giới thiệu một phương pháp VBA để lấy nó xuống.
Tạo hộp danh sách xếp tầng động với mã VBA
Tạo hộp danh sách xếp tầng động với mã VBA
Như hình minh họa bên dưới, bạn cần tạo một hộp danh sách mẹ chứa các giá trị duy nhất của cột Đồ uống và hiển thị tất cả các giá trị tương ứng trong hộp danh sách thứ hai dựa trên lựa chọn trong hộp danh sách mẹ. Mã VBA sau đây sẽ giúp bạn đạt được nó. Hãy làm như sau.
1. Trước tiên, bạn cần trích xuất tất cả các giá trị duy nhất từ cột Đồ uống. Chọn một ô trống, nhập công thức mảng =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") vào Thanh công thức, và sau đó nhấn Ctrl + sự thay đổi + đăng ký hạng mục thi Chìa khóa. Sau đó kéo Điền vào Xử lý để nhận tất cả các giá trị duy nhất. Xem ảnh chụp màn hình:
Chú thích: Trong công thức, $A$2:$A$11 là phạm vi mà bạn sẽ trích xuất các giá trị duy nhất. J1 là ô phía trên nơi chứa công thức của bạn.
Mẹo: Nếu công thức quá khó nhớ và khó xử lý, Chọn các ô trùng lặp & duy nhất tiện ích của Kutools cho Excel sẽ là một lựa chọn tốt để bạn nhanh chóng trích xuất tất cả các giá trị duy nhất từ một cột.
Vui lòng chọn cột chứa các giá trị duy nhất mà bạn sẽ trích xuất. Sau đó, kích hoạt tiện ích bằng cách nhấp vào Kutools > Chọn > Chọn các ô trùng lặp & duy nhất. Trong Chọn các ô trùng lặp & duy nhất hộp thoại, chọn Tất cả duy nhất (Bao gồm các bản sao đầu tiên) và nhấp vào OK cái nút. Sau đó, tất cả các giá trị duy nhất được chọn trong cột. Vui lòng sao chép và dán chúng vào một nơi mới. Xem ảnh chụp màn hình:
Kutools cho Excel: với hơn 200 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 60 ngày. Tải xuống và dùng thử miễn phí ngay!
2. Chèn hai hộp danh sách riêng biệt bằng cách nhấp vào Nhà phát triển > Chèn > Hộp danh sách (Điều khiển ActiveX). Xem ảnh chụp màn hình:
3. Nhấp chuột phải vào hộp danh sách mẹ và chọn Bất động sản từ menu ngữ cảnh. bên trong Bất động sản hộp thoại, thay đổi (Tên) trường để Đồ Uống hoặc tên khác khi bạn cần, nhập phạm vi ô chứa các giá trị duy nhất được trích xuất vào Danh sáchFillRange và đóng hộp thoại.
4. Lặp lại bước 3 để thay đổi hộp danh sách thứ hai (Tên) trường thành Mục trong Bất động sản hộp thoại.
5. Nhấp chuột phải vào tab trang tính và chọn Mã Chế độ xem từ menu chuột phải. Sau đó 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: Tạo hộp danh sách xếp tầng động trong Excel
Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
Dim I, xRows As Long
Dim xRg As Range
Dim xRegStr As String
Application.ScreenUpdating = False
xRegStr = Me.Drink.Text
Set xRg = Range("A2:A11")
xRows = xRg.Rows.Count
If xRegStr <> xPreStr Then
Me.Item.Clear
'Me.OtherListBoxName.Clear
Set xRg = xRg(1)
For I = 1 To xRows
If xRg.Offset(I - 1).Value = xRegStr Then
Me.Item.AddItem xRg.Offset(I - 1, 1).Value
'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
End If
Next
xPreStr = xRegStr
End If
Application.ScreenUpdating = True
End Sub
Chú ý: Trong mã Thức uống và Vật phẩm là tên của hai hộp danh sách, hãy đổi chúng thành tên riêng của bạn.
6. Nhấn nút Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.
7. Tắt Chế độ thiết kế bằng cách nhấp vào Nhà phát triển > Chế độ thiết kế.
Kể từ bây giờ, khi chọn bất kỳ loại thức uống nào như Cà phê trong hộp danh sách chính, tất cả các mục cà phê sẽ được hiển thị trong hộp thứ hai. Chọn Trà hoặc Rượu sẽ chỉ hiển thị các mục trà hoặc rượu trong hộp danh sách thứ hai. Xem ảnh chụp màn hình:
Các bài liên quan:
- Làm cách nào để xóa ô danh sách thả xuống phụ thuộc sau khi chọn đã thay đổi trong Excel?
- Làm cách nào để tạo danh sách thả xuống xếp tầng phụ thuộc trong Excel?
- Làm cách nào để tự động điền các ô khác khi chọn giá trị trong danh sách thả xuống của Excel?
- Làm cách nào để tạo lịch danh sách thả xuống trong Excel?
- Hdo lưu hoặc giữ lại các lựa chọn của hộp danh sách ActiveX trong Excel?
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!