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

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

Bài viết hướng dẫn tạo excel data validation drop-down list cho phép chọn nhiều (multiple selection). Data validation mặc định chỉ cho chọn 1 mục. Nhưng muốn chọn nhiều mục từ menu thả xuống? Hướng dẫn này dùng macro để vượt qua giới hạn chọn nhiều từ data validation drop-down list.

Tải file thực hành tại đây.

3 Ví dụ tạo Data Validation Drop-Down List chọn nhiều trong Excel

Quy trình áp dụng VBA macro tạo data validation drop-down list chọn nhiều hơi phức tạp. Để dễ hiểu, demo 3 ví dụ khác nhau chọn nhiều từ data validation drop-down list.

1. Tạo Data Validation Drop-Down List chọn nhiều trong một ô

Trước hết, có tập dữ liệu sau gồm tên 4 quốc gia. Muốn tạo data validation drop-down list chọn nhiều từ tên này. Thông thường data validation chỉ cho chọn 1 quốc gia trong 1 ô. Nhưng muốn nhập nhiều tên quốc gia từ list vào 1 ô.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

Xem các bước thực hiện.

CÁC BƯỚC:

  • Chọn phạm vi ô (D4:D8). Đặt tên phạm vi 'dv_list_0'.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chọn phạm vi ô (B5:B8) đặt tên 'Country_Range'.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Vào Data > Data Tools > Data Validation > Data Validation.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Hộp thoại 'Data Validation' mở ra.
  • Chọn List từ Allow. Nhập công thức sau vào Source:
=dv_list_0
  • Nhấn OK.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Mũi tên thả xuống hiện ở bên phải ô đã chọn.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chuột phải vào tên sheet đang hoạt động. Chọn 'View Code'.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Mở module VBA trống. Dán mã sau vào module:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Value_Old As String
    Dim Value_New As String
    If Target.Count > 1 Then Exit Sub
    If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, ActiveSheet.Range("Country_Range")) Is Nothing Then
        Application.EnableEvents = False
        Value_New = Target.Value
        On Error Resume Next
        Application.Undo
        On Error GoTo 0
        Value_Old = Target.Value
        If InStr(Value_Old, Value_New) Then
            If InStr(Value_Old, ", ") Then
                If InStr(Value_Old, ", " & Value_New) Then
                    Target.Value = Replace(Value_Old, ", " & Value_New, "")
                Else
                    Target.Value = Replace(Value_Old, Value_New & ", ", "")
                End If
            Else
                Target.Value = ""
            End If
        Else
            If Value_Old = "" Then
                Target.Value = Value_New
            Else
                If Value_New = "" Then
                    Target.Value = ""
                Else
                    If InStr(Target.Value, Value_New) = 0 Then
                        Target.Value = Value_Old & ", " & Value_New
                    End If
                End If
            End If
        End If
        Application.EnableEvents = True
    Else
        Exit Sub
    End If
End Sub
  • Nhấn nút Run hoặc phím F5 chạy mã.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Đặt tên macro và nhấn Run. Tên Macro ví dụ này là VBA.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chọn USA từ menu thả xuống ô B5. Nhập tên quốc gia USA vào ô B5.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chọn thêm Canada và Mexico. Tất cả giá trị từ menu thả xuống được chọn trong 1 ô.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

Đọc thêm: Cách tạo Excel Drop Down List cho Data Validation (8 cách)

2. Chèn chọn nhiều vào cột liền kề bằng Data Validation Drop-Down List

Ví dụ 2: tạo data validation drop-down list chọn nhiều vào cột liền kề. Chọn mục từ list, tự động nhập vào cột bên cạnh. Dùng tập dữ liệu trước.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

CÁC BƯỚC:

  • Chọn ô D5. Tạo data validation drop-down như phương pháp trước. Dùng phạm vi (B5:B8) làm source.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chuột phải tên sheet đang hoạt động, chọn 'View Code'.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Module VBA trống mở ra. Viết mã sau:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo exitHandler
    Dim DV_Range As Range
    Dim Col_i As Integer
    If Target.Count > 1 Then GoTo exitHandler
    On Error Resume Next
    Set DV_Range = Cells.SpecialCells(xlCellTypeAllValidation)
    On Error GoTo exitHandler
    If DV_Range Is Nothing Then GoTo exitHandler
    If Intersect(Target, DV_Range) Is Nothing Then
    Else
        Application.EnableEvents = False
        If Target.Column = 4 Then
            If Target.Value = "" Then GoTo exitHandler
            If Target.Validation.Value = True Then
                Col_i = Cells(Target.Row, Columns.Count).End(xlToLeft).Column + 1
                Cells(Target.Row, Col_i).Value = Target.Value
            Else
                MsgBox "Invalid entry"
                Target.Activate
            End If
        End If
    End If
exitHandler:
    Application.EnableEvents = True
End Sub
  • Nhấn F5 hoặc click Run chạy mã.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Hộp thoại Macros hiện ra. Tạo macro tên VBA1 nhấn Run.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Từ mũi tên thả xuống ô D5 chọn USA.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Tên quốc gia USA nhập vào ô E5 (cột liền kề E).

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chọn tiếp Canada và Mexico. Giá trị chọn lần lượt nằm ở các cột liền kề.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

Đọc thêm: Giá trị mặc định trong Data Validation List với Excel VBA (Macro và UserForm)

Đọc tương tự:

  • Autocomplete Data Validation Drop Down List trong Excel (2 phương pháp)
  • Cách tạo Data Validation List từ Bảng trong Excel (3 phương pháp)
  • Áp dụng Multiple Data Validation trong một ô trong Excel (3 ví dụ)
  • Cách xóa khoảng trắng từ Data Validation List trong Excel (5 phương pháp)
  • Excel Data Validation chỉ chữ và số (Dùng Custom Formula)

3. Chọn nhiều ở các hàng riêng biệt với Data Validation Drop-Down List

Ví dụ 3 tương tự ví dụ 2. Ví dụ 2 chọn nhiều ở cột liền kề, ví dụ này chọn nhiều ở các hàng riêng biệt. Tạo data validation drop-down list chọn nhiều, tiếp tục dùng tập dữ liệu trước.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

CÁC BƯỚC:

  • Chọn ô D5. Tạo data validation drop-down như trước. Validate dùng phạm vi (B5:B8) làm source.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chuột phải vào sheet đang hoạt động. Chọn 'View Code'.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Module VBA trống mở ra. Nhập mã sau:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo exitHandler
    Dim DV_Range As Range
    Dim Row_1 As Long
    Dim Col_1 As Long
    Col_1 = Target.Column
    If Target.Count > 1 Then GoTo exitHandler
    On Error Resume Next
    Set DV_Range = Cells.SpecialCells(xlCellTypeAllValidation)
    On Error GoTo exitHandler
    If DV_Range Is Nothing Then GoTo exitHandler
    If Intersect(Target, DV_Range) Is Nothing Then
    Else
        If Target.Value = "" Then GoTo exitHandler
        Application.EnableEvents = False
        Select Case Target.Column
            Case 4
                If Target.Offset(0, 1).Value = "" Then
                    Row_1 = Target.Row
                Else
                    Row_1 = Cells(Rows.Count, Col_1 + 1).End(xlUp).Row + 1
                End If
                Cells(Row_1, Col_1 + 1).Value = Target.Value
                Target.ClearContents
        End Select
    End If
exitHandler:
    Application.EnableEvents = True
End Sub
  • Nhấn Run hoặc F5 chạy mã.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Hộp thoại Macros hiện ra. Đặt tên macro VBA2 nhấn Run.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Từ dropdown ô D5 chọn USA.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Tên USA nằm cùng hàng nhưng cột liền kề.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

  • Chọn lần lượt Canada, Mexico, England. Giá trị chọn lần lượt nằm cùng cột nhưng hàng riêng biệt.

Tạo Data Validation Drop-down List Excel hỗ trợ chọn nhiều (Multiple Selections)

Đọc thêm: Excel Data Validation Drop Down List với Filter (2 ví dụ)

Kết luận

Vậy là tutorial này đưa ra tổng quan tạo data validation drop-down list chọn nhiều. Để kiểm tra kỹ năng, tải file thực hành đi kèm. Hãy comment dưới nếu có thắc mắc. Đội ngũ sẽ phản hồi sớm. Tiếp tục theo dõi các giải pháp Microsoft Excel đổi mới.

Các bài viết liên quan

  • Cách dùng IF Statement trong Data Validation Formula trong Excel (6 cách)
  • Dùng Data Validation trong Excel với màu sắc (4 cách)
  • Cách dùng Data Validation List từ Sheet khác (6 phương pháp)
  • Dùng Named Range cho Data Validation List với VBA trong Excel
  • [Fixed] Data Validation không hoạt động khi Copy Paste trong Excel (có giải pháp)