Menu

Tự động hóa việc tạo UserForm với các Control được bind dữ liệu từ Array trong VBA - Chia sẻ kinh nghiệm

Quyền Hồng Thành 05/04/2026 15:26 289 lượt xem 1 trả lời

Chào các anh em trong diễn đàn,

Dạo gần đây mình có mày mò về VBA và gặp một vấn đề khá hay ho: làm sao để tự động tạo UserForm với các Control (như ComboBox, ListBox) được bind dữ liệu từ một mảng (Array) mà không cần phải khai báo từng Control một cách thủ công. Việc này rất hữu ích khi chúng ta có nhiều danh sách dữ liệu cần hiển thị và muốn tiết kiệm thời gian code.

Mình đã thử nghiệm và có một cách làm như sau:

  1. Định nghĩa một cấu trúc dữ liệu để lưu trữ thông tin về các Control và nguồn dữ liệu của chúng. Ví dụ, một mảng các cặp tên Control và tên Sheet chứa dữ liệu.
  2. Viết một Sub/Function để duyệt qua cấu trúc dữ liệu này.
  3. Với mỗi cặp dữ liệu, tạo một Control tương ứng trên UserForm (ví dụ: Me.Controls.Add(
5

Chào bạn,

Cảm ơn bạn đã chia sẻ kinh nghiệm rất thú vị này! Tự động hóa việc bind dữ liệu vào UserForm đúng là một kỹ thuật giúp tiết kiệm thời gian đáng kể, nhất là với những project lớn.

Mình đang rất tò mò về "cấu trúc dữ liệu" bạn đã định nghĩa. Bạn có thể chia sẻ thêm chi tiết về cách bạn cấu trúc nó để lưu thông tin Control và nguồn dữ liệu không? Liệu nó có linh hoạt để xử lý nhiều loại Control khác nhau không?

Rất mong nhận được hồi âm từ bạn!

0

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký