Tạo Combobox Nhiều Cột Trong UserForm VBA Excel
Có thể bạn quan tâm
Thường, có lẽ bạn vẫn hay thấy Combobox chứa danh sách có 1 cột duy nhất. Nhưng, bạn có biết là có thể tạo Combobox với nhiều hơn 1 cột khi sử dụng trong UserForm VBA Excel hay không?
Combobox nhiều cột sẽ giúp bạn thể hiện nội dung danh sách các lựa chọn được cụ thể chi tiết hơn rất nhiều. Vì thế ở bài này, mình sẽ chia sẻ với bạn cách đơn giản nhất để tạo Combobox có nhiều cột trong UserForm VBA Excel.
Tạo Combobox nhiều cột trong UserForm VBA
Trước khi bắt đầu, nếu bạn chưa biết cách tạo và sử dụng Userform trong VBA Excel, bạn hãy tham khảo bài viết Cách sử dụng UserForm trong VBA trước đã nha.
Ở đây, ví dụ tạo Combobox nhiều cột, mình sẽ tạo 1 UserForm. Trong đó bao gồm: 1 Combobox và 3 Textbox.
Tiếp theo, chúng ta sẽ tiến hành khởi tạo danh sách nhiều cột cho Combobox.
Bạn hãy tạo hàm UserForm_Initialize() và tham khảo cách khởi tạo dữ liệu cho Combobox nhiều cột như sau:
Private Sub UserForm_Initialize() ComboBox1.ColumnCount = 3 Dim fruits(1 To 5, 1 To 3) As String Dim i As Integer, j As Integer fruits(1, 1) = "Avocado : Bo" fruits(1, 2) = "KG" fruits(1, 3) = 30000 fruits(2, 1) = "Mango : Xoai" fruits(2, 2) = "KG" fruits(2, 3) = 25000 fruits(3, 1) = "Kumquat : Quat" fruits(3, 2) = "KG" fruits(3, 3) = 10000 fruits(4, 1) = "Apricot : Mo" fruits(4, 2) = "KG" fruits(4, 3) = 50000 fruits(5, 1) = "Rambutan : Chom Chom" fruits(5, 2) = "KG" fruits(5, 3) = 25000 ComboBox1.List = fruits End Sub Code language: VB.NET (vbnet)Trong hàm trên, bạn hãy xem xét các lệnh sau:
- ComboBox1.ColumnCount = 3 : khai báo Combobox có 3 cột.
- Dim fruits(1 To 5, 1 To 3) As String: khai bảo mảng 2 chiều 5 x 3. Tương ứng với 5 hàng, 3 cột.
- ComboBox1.List = fruits: gán mảng vào Combobox.
Hoàn thành hàm như trên, bây giờ bạn có thể thử chạy UserForm để xem kết quả.
Đọc giá trị các cột được chọn trong Combobox
Tạo được Combobox với 3 cột. Tiếp theo, làm sao để lấy giá trị các cột theo hàng được chọn?
Bạn thấy trong hàm khởi tạo mảng cho Combobox, mỗi hàng có 3 cột được thêm vào.
Như vậy, khi lấy giá trị từ Combobox theo hàng được chọn. Bạn chỉ cần lấy theo Column(0) tương ứng với cột 1, Column(1) tương ứng với cột 2 của mảng…
Và, bạn có thể bắt sự kiện Change của Combobox để ghi giá trị của hàng ra các Textbox như sau.
Private Sub ComboBox1_Change() On Error Resume Next TextBox1.Text = ComboBox1.Column(0) TextBox2.Text = ComboBox1.Column(1) TextBox3.Text = ComboBox1.Column(2) End Sub Code language: VB.NET (vbnet)Hoàn thành hàm trên, bạn hãy chạy UserForm. Khi lựa chọn 1 hàng trong Combobox, thì các giá trị tương ứng với cột cũng sẽ được ghi ra Textbox.
Kết luận
Cách trên là cách đơn giản để bạn tạo được 1 Combobx nhiều cột trong UserForm VBA Excel. Bạn có thể tùy biến nâng cao hơn bằng cách đọc và gán vào Combobox từ bảng đã xác định trong bảng tính Excel.
Chúc bạn vui!
Từ khóa » Gán Giá Trị Cho Combobox Trong Vba
-
Hướng Dẫn Cách Tạo Danh Sách Chọn Cho Combobox Trong Userform ...
-
Cách Dùng ComboBox Trong VBA - Freetuts
-
Hỏi Về Cách Gán Giá Trị Cho Combobox | Giải Pháp Excel
-
[UserForm]Combobox | Tự Học VBA
-
Cách Sử Dụng Combobox Trong Lập Trình VBA - YouTube
-
Bài 38. 3 Cách Add Item Cho Combobox Trên Form - Excel Toàn Tập
-
Gán Giá Trị Cho Combobox Bằng Giá Trị Của Textbox - Thủ Thuật Access
-
Hướng Dẫn Tạo Combobox Có Danh Sách Phụ Thuộc
-
Đặt Giá Trị Của Combobox Bằng VBA - HelpEx
-
Hướng Dẫn Cách Tạo Danh Sách Chọn Cho Combobox Trong Userform ...
-
/forum/p?t=9371
-
Thuộc Tính DefaultValue - Microsoft Support
-
Vba — Loại Bỏ Tất Cả Các Mục Từ Một ComboBox?
-
Làm Cách Nào để Thêm Các Mục Vào Combobox Trong Một Biểu Mẫu ...