Computer >> Hướng Dẫn Máy Tính >  >> Phần Mềm >> Office

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Tùy nhu cầu, bạn muốn chọn nhiều giá trị trong một drop-down list. Hướng dẫn 3 cách làm (Excel 2019, các phiên bản khác tương tự).

Dữ liệu cơ sở: Danh sách văn phòng phẩm.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

File Thực Hành

Tải workbook thực hành từ link bên dưới.

Chọn Nhiều Mục Trong Drop-Down List

Tạo drop-down list cơ bản: Data Validation → List → Source: B4:B11.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Đọc thêm: Excel Drop Down List Depending on Selection

1. Chọn Nhiều Mục (Cho Phép Trùng Lặp)

Drop-down thường chỉ chọn 1 mục. Chọn "Pen" → chọn "Pencil" → "Pen" bị thay thế.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Cần VBA để giữ nhiều lựa chọn. Mở VBA (Alt+F11) → double-click sheet chứa drop-down (Sheet2) → dán mã:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Oldvalue As String
    Dim Newvalue As String
    On Error GoTo Exitsub
    If Target.Address = "$D$4" Then
        If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub
        Else:
        If Target.Value = "" Then GoTo Exitsub
        Else
            Application.EnableEvents = False
            Newvalue = Target.Value
            Application.Undo
            Oldvalue = Target.Value
            If Oldvalue = "" Then
                Target.Value = Newvalue
            Else
                Target.Value = Oldvalue & ", " & Newvalue
            End If
        End If
    End If
    Application.EnableEvents = True
Exitsub:
    Application.EnableEvents = True
End Sub

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Lưu mã → test: Chọn "Pencil" → chọn "Notebook" → cả 2 hiện trong ô, cách nhau dấu phẩy.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Cho phép trùng: Chọn lại "Pencil" → xuất hiện 2 lần.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Giải Thích Mã

  • Biến Oldvalue, Newvalue lưu giá trị cũ/mới.
  • Target.Address = "$D$4" – ô chứa drop-down.
  • Application.EnableEvents = False – tránh retrigger event.
  • Application.Undo – lấy giá trị cũ trước khi thay đổi.
  • Nối chuỗi: Oldvalue & ", " & Newvalue.

Đọc thêm: Multiple Dependent Drop-Down List Excel VBA

2. Chọn Nhiều Mục (Chỉ Giá Trị Duy Nhất – Không Trùng)

Mã giống hệt nhưng thêm kiểm tra InStr:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Oldvalue As String
    Dim Newvalue As String
    Application.EnableEvents = True
    On Error GoTo Exitsub
    If Target.Address = "$D$4" Then
        If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub
        Else:
        If Target.Value = "" Then GoTo Exitsub
        Else
            Application.EnableEvents = False
            Newvalue = Target.Value
            Application.Undo
            Oldvalue = Target.Value
            If Oldvalue = "" Then
                Target.Value = Newvalue
            Else
                If InStr(1, Oldvalue, Newvalue) = 0 Then
                    Target.Value = Oldvalue & ", " & Newvalue
                Else:
                    Target.Value = Oldvalue
                End If
            End If
        End If
    End If
    Application.EnableEvents = True
Exitsub:
    Application.EnableEvents = True
End Sub

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

InStr(1, Oldvalue, Newvalue) = 0 – nếu chưa có giá trị mới trong chuỗi cũ thì cho phép thêm.

Test: Đã chọn "Pencil" → chọn lại "Pencil" → không thêm (gif demo).

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Đọc thêm: Cách Tạo Drop Down List Từ Sheet Khác Trong Excel

3. Hiển Thị Các Mục Trên Dòng Mới (Newline)

Gộp vài ô với D4 (Merge & Center) để có chiều cao.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Mã dùng vbNewLine thay vì dấu phẩy:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Oldvalue As String
    Dim Newvalue As String
    Application.EnableEvents = True
    On Error GoTo Exitsub
    If Target.Address = "$D$4" Then
        If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub
        Else:
        If Target.Value = "" Then GoTo Exitsub
        Else
            Application.EnableEvents = False
            Newvalue = Target.Value
            Application.Undo
            Oldvalue = Target.Value
            If Oldvalue = "" Then
                Target.Value = Newvalue
            Else
                If InStr(1, Oldvalue, Newvalue) = 0 Then
                    Target.Value = Oldvalue & vbNewLine & Newvalue
                Else:
                    Target.Value = Oldvalue
                End If
            End If
        End If
    End If
    Application.EnableEvents = True
Exitsub:
    Application.EnableEvents = True
End Sub

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Kết quả: Mỗi mục trên 1 dòng riêng.

Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh Chọn Nhiều Mục Từ Drop-Down List Excel – 3 Phương Pháp Chứng Minh

Lưu ý: Thay vbNewLine bằng ký tự khác trong ngoặc kép nếu muốn phân cách khác.

Kết Luận

3 cách chọn nhiều mục drop-down: cho phép trùng, không trùng, xuống dòng. Hy vọng hữu ích. Comment nếu khó hiểu hoặc chia sẻ phương pháp khác.

Đọc Thêm

  • Tạo Drop Down List Nhiều Cột Trong Excel (3 Cách)
  • Liên Kết Giá Trị Ô Với Drop Down List (5 Cách)
  • Conditional Drop Down List Trong Excel
  • Tạo Dynamic Dependent Drop Down List
  • Dùng IF Statement Tạo Drop-Down List
  • VLOOKUP Với Drop Down List