Cách tạo danh sách thả xuống trong Excel
CÁC BƯỚC:
- Chọn một ô (E3 trong ví dụ này) nơi chúng ta sẽ tạo danh sách thả xuống.

- Chuyển đến tab Dữ liệu (Data) trên Ribbon Excel.
- Nhấp vào tùy chọn Kiểm tra dữ liệu (Data Validation).

- Trong cửa sổ Kiểm tra dữ liệu, chọn tab Cài đặt (Settings).
- Trong danh sách thả xuống Cho phép (Allow), chọn tùy chọn Danh sách (List).

- Nhập "Active" và "Inactive" vào ô Nguồn (Source) và nhấn OK.

- Kết quả: Ô E3 hiện có danh sách thả xuống với hai lựa chọn - Active và Inactive.

Ví dụ 1 – Ẩn/Hiện cột dựa trên lựa chọn danh sách thả xuống trong Excel
CÁC BƯỚC:
- Chuột phải vào tên trang tính và chọn Xem mã (View Code).

- Chèn mã sau vào trình soạn thảo Visual Basic:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = ("$E$3") Then
If Target.Text = "Active" Then
Columns("C").EntireColumn.Hidden = True
Columns("B").EntireColumn.Hidden = False
ElseIf Target.Text = "Inactive" Then
Columns("C").EntireColumn.Hidden = False
Columns("B").EntireColumn.Hidden = True
End If
End If
End Sub

- Lưu mã bằng Ctrl + S và đóng trình soạn thảo mã.
- Trong trang tính, để ẩn cột thành viên hoạt động (chỉ giữ cột thành viên không hoạt động), chọn Inactive từ danh sách thả xuống.

- Chọn tùy chọn Active từ danh sách thả xuống.

- Cột thành viên hoạt động hiện ra, cột thành viên không hoạt động bị ẩn.

Giải thích mã:
- Chúng ta sử dụng thuộc tính EntireColumn để chọn toàn bộ cột chứa thành viên hoạt động và không hoạt động.
- Sau đó, đặt thuộc tính .Hidden thành True hoặc False để ẩn/hiện cột cụ thể.
Đọc thêm: Cách xóa các mục đã dùng khỏi danh sách thả xuống trong Excel
Ví dụ 2: Ẩn/Hiện cột để lọc dữ liệu dựa trên lựa chọn danh sách thả xuống
Bộ dữ liệu chứa dữ liệu bán hàng cho 7 sản phẩm từ 3 danh mục: Trái cây, Rau củ và Cá.

CÁC BƯỚC:
- Tại ô B2, tạo danh sách thả xuống với 4 tùy chọn: Tất cả, Trái cây, Rau củ, Cá.
- Tạo danh sách thả xuống như phần mô tả trước đó.

- Để mở Trình soạn thảo Visual Basic, chuột phải vào tên trang tính và chọn Xem mã.

- Chèn mã sau vào trình soạn thảo:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Variant, b As String
If Target.Column = 2 And Target.Row = 2 Then
b = Target.Value2
With Range("C5:I5")
Application.ScreenUpdating = False
.EntireColumn.Hidden = (b <> "All")
If b <> "All" Then
For Each a In .Cells
If a = b Then a.EntireColumn.Hidden = False
Next
End If
Application.ScreenUpdating = True
End With
End If
End Sub

- Lưu mã bằng Ctrl + S và đóng trình soạn thảo.
- Bộ dữ liệu hiện có thể lọc theo danh mục được chọn từ danh sách thả xuống. Các ảnh chụp màn hình sau đây minh họa kết quả.
Ảnh đầu tiên là danh sách danh mục Trái cây.

Chọn danh mục Rau củ.

Ảnh tiếp theo hiển thị danh sách danh mục Cá.

Chọn tất cả các danh mục.

Giải thích mã:
- Chúng ta chọn ô đích B2 bằng cách xác định số cột và hàng. Cách này khác với Ví dụ 1 sử dụng thuộc tính Address.
If Target.Column = 2 And Target.Row = 2 Then
- Biến b lưu giá trị danh mục được chọn trong danh sách thả xuống.
- Đoạn mã sau xác định phạm vi ô chứa tên danh mục trong danh sách bán hàng. Mỗi giá trị được so khớp với biến b.
With Range("C5:I5")
- Nếu giá trị b khớp với một giá trị trong Range("C5:I5"), mã chọn toàn bộ cột liên quan đến ô đó và giữ nó hiển thị bằng cách đặt thuộc tính Hidden thành False.
Đọc thêm: Cách xóa trùng lặp khỏi danh sách thả xuống trong Excel
Lưu ý quan trọng
Trong mã VBA, chúng ta đặt Application.ScreenUpdating = False trước khi bắt đầu vòng lặp và chuyển lại Application.ScreenUpdating = True sau khi kết thúc để có phản hồi nhanh hơn khi thay đổi lựa chọn trong danh sách thả xuống.
Tải xuống tệp thực hành
Tải xuống tệp này để thực hành.
Các bài viết liên quan
- Cách tạo danh sách thả xuống cho nhiều cột trong Excel
- Tạo danh sách thả xuống có tìm kiếm trong Excel
- Cách thêm tùy chọn trống vào danh sách thả xuống trong Excel
- Tạo bộ lọc thả xuống để trích xuất dữ liệu dựa trên lựa chọn trong Excel
- Cách chọn từ danh sách thả xuống và kéo dữ liệu từ trang tính khác trong Excel
- Cách tạo biểu mẫu với danh sách thả xuống trong Excel
- Cách tô màu ô danh sách thả xuống trong Excel nhưng không có văn bản
- [Đã sửa!] Danh sách thả xuống bỏ qua ô trống không hoạt động trong Excel
- Cách chọn nhiều mục từ danh sách thả xuống trong Excel
- Cách tự động hoàn thành danh sách thả xuống kiểm tra dữ liệu trong Excel
<< Quay lại Danh sách thả xuống Excel | Kiểm tra dữ liệu trong Excel | Học Excel
Nhận miễn phí Bài tập Excel nâng cao có lời giải!