Bỏ qua nội dung chính

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:

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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
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...

Mô 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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations