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

Mục lục

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 một danh sách thả xuống trong excel, trong 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 tôi muốn sử dụng hộp tổ hợp trong excel, chúng tôi có thể cũng có thể truy cập nó từ phần nhà phát triển từ đó chúng tôi có thể tạo các hộp tổ hợp cho từng ô hoặc nhiều ô.

Combo Box 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 tôi 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 người dùng như một phần của việc nhận 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

# 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à trong tab này, chúng tôi có một công cụ được gọi là “Chèn”. Nhấp vào đây, và dưới đây, chúng tôi có hai tùy chọn Điều khiển X Active & Điều khiển biểu mẫu trong excel.

Từ “Điều khiển X hoạt động”, hãy chọn “Hộp tổ hợp”.

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ẽ cung cấp danh sách tên bộ phận, 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ể làm điều 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 các 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, hãy 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ã bên dưới.

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

Ok, 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 Visual Basic Editor và chèn Biểu mẫu Người dùng từ tùy chọn INSERT.

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”.

Now the combo box is embedded in the user form. In this method, to open the properties option, select the combo box and press the F4 key to open the properties window.

Scroll down the properties tab and choose “Row Source.”

For this “Row Source,” enter the name that we had given to department name cells.

Now this combo box holds the reference of the name “Department.”

Now run the user form by using the run button.

Now we can see a list of department names in the combo box on the user form.

Practically user form is associated with a combo box, text box, and many other tools. We will create a simple data entry user form with a text box & combo box.

Create a user form like the below.

Create two Command Buttons.

Double click on the “SUBMIT” button it will open up below macro.

Inside this macro, add the below code.

Code:

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 có hai cách. Một là một cách mã hóa và một cách khác là một 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.

thú vị bài viết...