Chủ đề công tác năm 2020: "Tuổi trẻ Bình Dương Tự hào tiến bước dưới cờ Đảng" - Chào mừng kỷ niệm 90 năm Ngày thành lập Đảng Cộng Sản Việt Nam (03/02/1930 - 03/02/2020)

Combo Box là một công cụ hữu ích trong Excel cho phép người dùng chọn một nội dung từ danh sách có sẵn. Tuy nhiên, trong một số trường hợp, bạn có thể muốn tạo một Combo Box mà không có các giá trị trùng lặp trong danh sách. Bài viết này sẽ hướng dẫn bạn cách thực hiện điều đó một cách đơn giản và hiệu quả.

1. Đặt vấn đề

Xét một trường hợp thực tế, bạn có một danh sách nhân viên trong công ty được phân theo các bộ phận, các nhóm. Trong cột Bộ phận và cột Nhóm có các nội dung được lặp lại. Chúng ta muốn tạo một Combo Box mà danh sách chọn cho Bộ phận và Nhóm không bị trùng lặp.

Danh sách chọn cho Bộ phận bao gồm:

  • Kinh doanh
  • Kế toán
  • Bán hàng

Danh sách chọn cho Nhóm bao gồm:

  • Team A
  • Team B
  • Team C
  • Team D
  • Team E
  • Team F

2. Cách thực hiện

2.1. Tạo Combo Box

Để tạo ra một Combo Box, bạn cần vào tab Developer > Insert > ComboBox (ActiveX Control).

Cách tạo Combo Box không trùng lặp trong ExcelTạo Combo Box trong Excel

Sau đó, bạn vẽ ra trong Sheet 1 Combo Box, có thể đặt ở bất kỳ sheet nào. Trong ví dụ này, chúng ta sẽ đặt tại Sheet1 – nơi chứa danh sách cần nạp cho Combo Box.

Sau khi đã tạo ra Combo Box, bạn tìm hiểu một số thiết lập cơ bản trong Combo Box bằng cách click chuột phải vào Combo Box và chọn Properties.

Cách tạo Combo Box không trùng lặp trong ExcelCấu hình Combo Box

Trong cửa sổ Properties, chú ý những nội dung sau:

  • ListFillRange: danh sách làm nguồn cho ComboBox
  • LinkedCell: ô liên kết từ ComboBox để ghi nhận kết quả nội dung được chọn bởi ComboBox
  • ColumnsCount: số lượng cột trong ComboBox (phụ thuộc vào ListFillRange có bao nhiêu cột)
  • ColumnsWidths: phân chia độ rộng từng cột dựa theo việc có bao nhiêu cột
  • BoundColumn: cột nào sẽ là cột kết quả cần lấy trong trường hợp có nhiều cột

Ví dụ, chúng ta thiết lập ComboBox gồm 3 cột, lấy theo vùng bảng A2:C10, độ rộng mỗi cột tương ứng là 50-50-80pt, kết quả lấy theo cột thứ 1, nội dung được chọn sẽ liên kết tới ô E2.

2.2. Tạo ComboBox với danh sách không trùng

Cách thủ công bằng thao tác tay

Bước 1: Copy nội dung cột Bộ phận ra cột F.

Bước 2: Thực hiện việc loại bỏ các giá trị trùng tại cột F bằng chức năng Data / Remove Duplicates.

Cách tạo Combo Box không trùng lặp trong ExcelXóa trùng lặp trong Excel

Kết quả sau khi thực hiện thao tác Remove Duplicates sẽ chỉ còn lại các giá trị duy nhất.

Chúng ta sẽ nạp danh sách này từ ô F2 tới ô F4, tương ứng với 3 nội dung này vào trong combo box mục ListFillRange.

Tuy nhiên cách này khá thủ công vì khi nhập thêm dữ liệu vào bảng thì chúng ta phải lặp lại thao tác Remove Duplicates, nếu không dữ liệu trong danh sách sẽ không được cập nhật.

Sử dụng VBA để tạo List cho ComboBox

Câu lệnh VBA được sử dụng cần gán với sự kiện Worksheet_Active (mỗi khi sheet chứa ComboBox được chọn) sẽ cập nhật lại danh sách trong ComboBox.

Kết quả thu được sẽ như sau:

Cách tạo Combo Box không trùng lặp trong ExcelKết quả ComboBox cập nhật tự động

Như vậy bạn đã có thể hiểu rõ hơn về đối tượng ComboBox và cách tạo danh sách chọn cho ComboBox không bị trùng lặp. Đặc biệt là chúng ta còn có thể sử dụng VBA để tạo danh sách không trùng, có thể tự động cập nhật lại danh sách mỗi khi chúng ta làm việc. Điều này thật thú vị phải không nào!

Hãy tham khảo thêm kiến thức về VBA với khóa học VBA101 – Tự động hóa Excel với lập trình VBA. Đây là khóa học rất hữu ích dành cho bạn.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *