VBA ComboBox | Làm thế nào để tạo và sử dụng ComboBox trong VBA?

Excel VBA ComboBox

ComboBox là tính năng biểu mẫu người dùng trong VBA , chúng khác với các hộp văn bản vì hộp văn bản được sử dụng để chỉ chứa văn bản và chúng tôi cho phép người dùng nhập bất kỳ loại dữ liệu nào, nhưng bằng cách sử dụng hộp tổ hợp, chúng tôi giới hạn người dùng đối với loại phản hồi mà chúng tôi mong muốn do đó dữ liệu có thứ tự, nó tương tự như xác thực dữ liệu danh sách trong excel.

ComboBox có thể được so sánh với danh sách thả xuống trong excel, trong các trang tính, chúng tôi đã sử dụng xác thực dữ liệu để cung cấp danh sách thả xuống nhưng trong VBA có một tính năng biểu mẫu người dùng, nơi nó được sử dụng để cung cấp danh sách thả xuống trong bất kỳ biểu mẫu người dùng nào, nhưng nếu chúng ta muốn sử dụng hộp tổ hợp trong excel, chúng ta cũng có thể truy cập nó từ phần nhà phát triển, từ đó chúng ta có thể tạo hộp tổ hợp cho từng ô hoặc nhiều ô.

Hộp tổ hợp rất giống với danh sách thả xuống mà chúng ta có trong một trang tính excel, với hộp tổ hợp, chúng ta có thể lưu trữ các giá trị được xác định trước, để người dùng thực hiện lựa chọn từ danh sách có sẵn từ hộp tổ hợp. Combo Box thường được sử dụng cùng với các biểu mẫu của người dùng như một phần của việc lấy thông tin đầu vào từ người dùng.

Biểu mẫu người dùng rất hữu ích nhưng có các công cụ khác trên biểu mẫu người dùng là điều làm cho biểu mẫu người dùng trở nên đặc biệt. Một trong những công cụ mà chúng tôi thường sử dụng làm công cụ cho biểu mẫu người dùng là “ComboBox”.

2 cách tạo VBA ComboBox hàng đầu

Bạn có thể tải mẫu VBA Combo Box Excel này tại đây - Mẫu VBA Combo Box Excel

# 1 - Sử dụng mã hóa trực tiếp

Đầu tiên, chúng ta sẽ xem cách sử dụng Combo Box với trang tính. Mở bất kỳ trang tính nào trong sổ làm việc excel, chuyển đến tab Nhà phát triển và dưới tab này, chúng tôi có một công cụ gọi là “Chèn”. Nhấp vào đây và bên dưới chúng ta có hai tùy chọn Điều khiển X Active & Điều khiển biểu mẫu trong excel.

Từ “Active X Controls”, chọn “Combo Box”.

Bây giờ bạn có thể vẽ đối tượng này trên bất kỳ trang tính nào.

Nhấp chuột phải vào hộp tổ hợp và chọn tùy chọn "Thuộc tính".

Khi bạn chọn thuộc tính, nó sẽ mở ra một danh sách khổng lồ các thuộc tính của một hộp tổ hợp.

Đối với hộp kết hợp này, chúng tôi sẽ đưa ra một danh sách các tên phòng ban, vì vậy hãy thay đổi thuộc tính tên của hộp kết hợp thành  “DeptComboBox” .

Bây giờ hộp kết hợp này sẽ được gọi bằng tên “DeptComboBox” . Chúng ta cần đưa ra các tên bộ phận đã được xác định trước, vì vậy ở đây tôi có một danh sách các tên bộ phận.

Bây giờ chúng ta cần thêm các giá trị này vào danh sách hộp tổ hợp, chúng ta có thể thực hiện việc này theo hai cách, thông qua mã hóa hoặc thông qua trình quản lý tên.

Nhấp đúp vào Combobox và nó sẽ đưa bạn đến thủ tục macro VBA.

Nhưng chúng ta cần xem những tên bộ phận này khi sổ làm việc mở ra, vì vậy hãy nhấp đúp vào “ThisWorkbook”.

Từ danh sách thả xuống, chọn “Workbook”.

Từ các tùy chọn, hãy chọn "Mở".

Bây giờ nó sẽ tạo ra một khoảng trống như bên dưới.

Bên trong macro này, hãy nhập mã dưới đây.

Mã:

 Private Sub Workbook_Open () With Worksheets ("Sheet1"). DeptComboBox .AddItem "Finance" .AddItem "Marketing" .AddItem "Merchandising" .AddItem "Operations" .AddItem "Audit" .AddItem "Client Servicing" End With End Sub 

Được rồi, bây giờ hãy lưu và đóng sổ làm việc, khi bạn mở lại sổ làm việc, chúng tôi có thể thấy tên bộ phận trong đó.

# 2 - Sử dụng UserForm

Một cách khác để thêm giá trị vào ComboBox là sử dụng biểu mẫu người dùng. Đầu tiên, đặt tên cho các ô là “Bộ phận”.

Đi tới Trình soạn thảo Visual Basic và chèn Biểu mẫu Người dùng từ tùy chọn CHÈN.

Bây giờ biểu mẫu người dùng mới được tạo.

Bên cạnh biểu mẫu người dùng, chúng ta có thể thấy “Hộp công cụ” từ hộp công cụ này, chúng ta có thể chèn “Hộp tổ hợp”.

Bây giờ hộp tổ hợp được nhúng vào biểu mẫu người dùng, trong phương pháp này để mở tùy chọn thuộc tính, hãy chọn hộp tổ hợp và nhấn phím F4 để mở cửa sổ thuộc tính.

Cuộn xuống tab thuộc tính và chọn “Nguồn hàng”.

Đối với “Nguồn hàng” này, hãy nhập tên mà chúng tôi đã đặt cho các ô tên bộ phận.

Bây giờ hộp kết hợp này chứa tham chiếu của tên “Bộ phận” .

Bây giờ chạy biểu mẫu người dùng bằng cách sử dụng nút chạy.

Bây giờ chúng ta có thể thấy danh sách tên bộ phận trong hộp tổ hợp trên biểu mẫu người dùng.

Thực tế, biểu mẫu người dùng được liên kết với hộp tổ hợp, hộp văn bản và nhiều công cụ khác. Chúng tôi sẽ tạo một biểu mẫu người dùng nhập dữ liệu đơn giản với hộp văn bản & hộp tổ hợp.

Tạo một biểu mẫu người dùng như bên dưới.

Tạo hai nút lệnh.

Nhấp đúp vào nút “GỬI” nó sẽ mở ra macro bên dưới.

Bên trong macro này, hãy thêm mã bên dưới.

Mã:

 Private Sub CommandButton1_Click () Dim LR As Long LR = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (LR, 1) .Value = TextBox1.Value Cells (LR, 2) .Value = ComboBox1 .Value End Sub 

Bây giờ nhấp đúp vào nút “HỦY” và thêm mã bên dưới.

Bây giờ trong trang tính, hãy tạo một mẫu như bên dưới.

Bây giờ hãy chạy biểu mẫu người dùng và nó sẽ mở ra như thế này.

Nhập tên nhân viên và chọn tên bộ phận từ danh sách kết hợp.

Bấm vào nút SUBMIT và xem điều kỳ diệu.

Chúng tôi đã nhập các giá trị trong định dạng bảng mà chúng tôi đã tạo.

Những điều cần ghi nhớ

  • HỘP COMBO cũng có những tính chất riêng.
  • Thêm giá trị vào danh sách theo hai cách, một là cách mã hóa và một cách khác là tham chiếu tên phạm vi.
  • HỘP COMBO thường là một phần của biểu mẫu người dùng.

$config[zx-auto] not found$config[zx-overlay] not found