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ái sử dụng mọi thứ: Thêm các công thức, biểu đồ và bất kỳ thứ gì khác được sử dụng nhiều nhất hoặc phức tạp vào mục yêu thích của bạn và nhanh chóng sử dụng lại chúng trong tương lai.
- Hơn 20 tính năng văn bản: Trích xuất số từ chuỗi văn bản; Trích xuất hoặc loại bỏ một phần nội dung; Chuyển đổi số và tiền tệ sang từ tiếng Anh.
- Công cụ hợp nhất: Nhiều Workbook và Sheets thành một; Hợp nhất nhiều ô / hàng / cột mà không làm mất dữ liệu; Hợp nhất các hàng và tổng trùng lặp.
- Công cụ tách: Chia Dữ liệu thành Nhiều Trang tính Dựa trên Giá trị; Một sổ làm việc cho nhiều tệp Excel, PDF hoặc CSV; Một cột đến nhiều cột.
- Dán bỏ qua Hàng ẩn / được lọc; Đếm và tổng theo Màu nền; Gửi hàng loạt email được cá nhân hóa cho nhiều người nhận.
- Bộ lọc siêu: Tạo lược đồ lọc nâng cao và áp dụng cho bất kỳ trang tính nào; Sắp xếp theo tuần, ngày, tần suất và hơn thế nữa; Lọc bằng cách in đậm, công thức, chú thích ...
- Hơn 300 tính năng mạnh mẽ; Hoạt động với Office 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.
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á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!
