Series Workshop Online - VBA in Excel 06/06/2026

Thực hành thiết lập tự động hóa các thao tác thủ công trong xử lý dữ liệu và lập báo cáo trong Excel

Cách thêm Combo Box trong Excel bằng VBA

Combo Box là một danh sách thả xuống bằng cách kết hợp một hộp văn bản cụ thể. Danh sách thả xuống này sẽ cho phép người dùng chọn tùy chọn tùy thích. Trong bài viết này, UniTrain sẽ hướng bạn cách thêm Combo Box trong Excel bằng VBA chỉ với 3 bước vô cùng đơn giản.

Người dùng có thể dễ dàng tạo Combo Box ActiveX Controls bằng Excel VBA. Giả sử, có tập dữ liệu gồm hai cột: Days (ngày) và Months (tháng) như hình dưới. Ở đây, người dùng sẽ trình bày hai Combox Box, và Combox Box thứ hai sẽ phụ thuộc vào Combo Box thứ nhất. Đầu tiên, người dùng sẽ chọn danh mục trong Combo Box 1 và Combox 2, sau đó sẽ nhận được các tùy chọn trong hộp đó.

dataset to Add a Dynamic and Dependent Combo Box Using Excel VBA

Các bước thao tác:

Bước 1: Chèn Userform trong cửa sổ VBA

1. Chọn  Developer > tùy chọn Visual Basic từ nhóm Code.

2. Cửa sổ VBA sẽ hiển ra.

3. Để tạo Combo Box, chúng ta sẽ cần sử dụng tính năng UserForm. Do đó, hãy chọn Insert > tùy chọn UserForm (như hình dưới).

select userform to Add a Dynamic and Dependent ComboBox Using Excel VBA

4. Userform sẽ xuất hiện cùng với Toolbox.

5. Nhấn nút bên phải của chuột giữ con trỏ trên UserForm. Chọn Context Menu > tùy chọn Properties.

select properties from the context menu

6. Từ cửa sổ Properties, chọn mục Caption (như hình dưới). Đây là tiêu đề của UserForm.

Bước 2: Tạo Label và Combo Box

1. Thêm LabelCombo Box từ Toolbox.

Add a lebel and Dependent ComboBox Using Excel VBA

2. Sao chép các ô đó bằng Ctrl+C và dán bằng cách nhấn Ctrl+V.

3. Di chuyển con trỏ trên bất kỳ Label nào và nhấn nút bên phải.

4. Chọn Context Menu > tùy chọn Properties.

5. Trong cửa sổ Properties, bạn có thể thay đổi tên, màu phông chữ, kích thước và những thứ khác.

change the font color and other properties

6. Sau khi thay đổi các thuộc tính, Userform sẽ hiển thị (như hình dưới). Sau đó, hãy nhấn tùy chọn chạy từ tab chính.

final output to demonstrate how to Add a Dynamic and Dependent ComboBox Using Excel VBA

Và cuối cùng, kết quả sẽ hiển thị như sau:

Bước 3: Thêm mã VBA

1. Nhấp đúp vào Userform và nhập cửa sổ VBA để viết mã code.

2. Trong cửa sổ, hãy chọn mũi tên ở phía bên phải (như hình dưới) và chọn tùy chọn Activate trong danh sách dưới.

click on Activate option

3. Lúc này, mã sẽ được thêm vào cửa sổ để kích hoạt Userform.

4. Xóa mã Userform khỏi cửa sổ VBA. 

5. Nhập mã code dưới đây vào cửa sổ:

Private Sub UserForm_Activate()
Dim D_Sheet As Worksheet
Set D_Sheet = ThisWorkbook.Sheets("Dependent & Dynamic Combo Box")
Dim N As Integer
Me.ComboBox1.Clear
For N = 1 To Application.WorksheetFunction.CountA(D_Sheet.Range("1:1"))
    Me.ComboBox1.AddItem D_Sheet.Cells(1, N).Value
Next N
End Sub

6. Kiểm tra kết quả bằng cách nhấp vào mũi tên xuống của hộp Category và xem các tùy chọn. Tương tự, nhấp vào mũi tên xuống của hộp Options.

show the output

7. Bạn sẽ thấy hộp Options bị trống. Ngược lại, hộp Category thì không.

8. Nhấp đúp vào ComboxBox1.

Add a Dynamic and Dependent ComboBox

9. Sao chép mã VBA khác và dán vào cửa sổ:

Private Sub ComboBox1_Change()
Dim D_Sheet As Worksheet
Set D_Sheet = ThisWorkbook.Sheets("Dependent & Dynamic Combo Box")
Dim N, M As Integer
M = Application.WorksheetFunction.Match(Me.ComboBox1.Value, D_Sheet.Range("1:1"), 0)
Me.ComboBox2.Clear
For N = 2 To Application.WorksheetFunction.CountA(D_Sheet.Cells(1, M).EntireColumn)
    Me.ComboBox2.AddItem D_Sheet.Cells(N, M).Value
Next N
End Sub

10. Chạy mã VBA bằng cách nhấn nút F5.

11. Bạn có thể thấy hộp Options đang hoạt động trở lại. Có nghĩa là hộp Options này phụ thuộc với hộp còn lại.

12. Để làm hộp linh động hơn, bạn có thể thêm một cột khác vào tập dữ liệu (như hình dưới).

insert new column in dataset to demonstrate how to Add a Dynamic and Dependent ComboBox

13. Chọn UserForm, bạn có thể thấy cột mới được thêm vào hộp tổ hợp.

Xem thêm

Khóa học Ứng dụng VBA trong Excel

Bộ tài liệu: Làm chủ Excel và VBA-Macro

Download: Excel VBA Notes for Professionals

VBA trong Excel giúp ích gì cho công việc của bạn?

VBA – các tính năng hỗ trợ trong Excel 

 

Để 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 *

1 + 1 = ? (Nhập Haii để trả lời đúng)

Bài viết liên quan
Data Analysis Breakthrough Scholarship 2026

Với mong muốn tạo điều kiện cho các bạn trẻ tiếp cận kiến thức bài bản và phát triển tư duy phân tích dữ liệu thực tiễn, Data Analysis Breakthrough Scholarship 2026 chính

Xem thêm
Ưu đãi tháng 05/2026

Chương trình ưu đãi 05/2026 này mang đến ưu đãi kép cho học viên: Giảm ngay 155.000đ trên mức ưu đãi đóng sớm khi học viên đăng ký bất kỳ khóa học nào trong tháng này.

Xem thêm
So sánh ChatGPT vs Gemini vs Claude 2026: Nên chọn AI tool nào?

Ba cái tên ChatGPT, Gemini và Claude xuất hiện ở khắp nơi khi nói về AI, nhưng không cái nào là “tốt nhất tuyệt đối”. Mỗi tool có điểm mạnh khác

Xem thêm
Claude là gì? Tìm hiểu AI assistant của Anthropic và cách dùng 2026

Nếu bạn đã nghe tên ChatGPT nhưng chưa biết Claude là gì, bạn đang bỏ qua một trong những AI assistant mạnh nhất hiện nay, đặc biệt nếu công việc của

Xem thêm