Menu

Tự động điền dữ liệu vào UserForm dựa trên lựa chọn ComboBox - Cần cao nhân chỉ giáo

Bàn Đan Thơ 10/04/2026 05:37 521 lượt xem 1 trả lời

Chào mọi người, mình đang gặp một vấn đề khá đau đầu khi làm việc với UserForm trong VBA. Cụ thể là mình muốn tạo một form để nhập liệu, trong đó có một ComboBox (gọi là cbDanhMucCon) mà dữ liệu của nó sẽ phụ thuộc vào lựa chọn của một ComboBox khác (gọi là cbDanhMucChinh).

Ví dụ:

  • Nếu cbDanhMucChinh chọn 'Trái cây', thì cbDanhMucCon sẽ hiển thị: 'Táo', 'Chuối', 'Cam'.
  • Nếu cbDanhMucChinh chọn 'Rau củ', thì cbDanhMucCon sẽ hiển thị: 'Cà rốt', 'Bí đỏ', 'Khoai tây'.

Mình đã thử tìm hiểu trên mạng và các bài viết trên diễn đàn, có thấy một số cách xử lý, ví dụ như dùng sự kiện Change của cbDanhMucChinh để nạp lại dữ liệu cho cbDanhMucCon. Tuy nhiên, mình làm theo hướng dẫn nhưng chưa thành công, có vẻ như code của mình còn sai sót ở đâu đó.

Mọi người ai có kinh nghiệm về vấn đề này, hoặc có đoạn code mẫu nào hay thì chia sẻ giúp mình với ạ. Mình đang cần gấp để hoàn thành báo cáo.

Cảm ơn mọi người đã đọc bài!

0

Vấn đề này khá phổ biến khi làm việc với UserForm đó bạn. Cách làm hiệu quả nhất là sử dụng sự kiện Change của cbDanhMucChinh.

Mỗi khi người dùng chọn một mục trong cbDanhMucChinh, sự kiện Change sẽ được kích hoạt. Bên trong sự kiện này, bạn có thể viết code để xóa hết dữ liệu cũ trong cbDanhMucCon, sau đó nạp lại dữ liệu mới dựa trên lựa chọn của cbDanhMucChinh.

Bạn có thể lưu trữ dữ liệu cho các ComboBox này trong một Sheet riêng hoặc dùng mảng (Array) để quản lý cho gọn. Nếu bạn chia sẻ cấu trúc dữ liệu của mình (ví dụ: bạn lưu trữ danh mục chính và con ở đâu), mình có thể gợi ý code cụ thể hơn!

4

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

Đăng nhập Đăng ký