Việc sử dụng hình ảnh trong UserForm đem lại hiệu quả thẩm mỹ rất cao. Và một trong những ứng dụng rất phổ biến về việc sử dụng hình ảnh trong UserForm là thiết lập hình ảnh tự động thay đổi theo nội dung được chọn của Combobox. Sau đây chúng ta cùng tìm hiểu cách thay đổi hình ảnh trong UserForm VBA theo lựa chọn của Combobox.
Kết quả cần đạt được của chúng ta như sau:
Các bước thực hiện bao gồm:
Xem nhanh
Các bạn có thể tải về file mẫu để áp dụng làm theo bài hướng dẫn tại địa chỉ: http://bit.ly/2JBEYn2
Trong file này đã tạo sẵn 1 UserForm, trong đó có chứa Combobox là cbSale và đối tượng chứa hình ảnh là Image1
Các bạn có thể thiết lập 1 vài nội dung cho phần Image1 như:
(xem thêm: Hướng dẫn cách chèn ảnh vào Userform VBA đơn giản nhất)
Để đảm bảo cho việc danh sách của chúng ta có thể có nội dung để chọn và có hình ảnh để thay đổi thì cần chuẩn bị sẵn 1 vài hình ảnh. Trong file tải về ở trên đã có kèm theo 1 vài hình ảnh. Các bạn có thể lưu những hình ảnh đó vào chung 1 thư mục.
Giả sử chúng ta có các hình ảnh như sau:
Địa chỉ thư mục là D:\03_HEO2018\12_Userform-Get-Picture-by-combobox
Để xem địa chỉ thư mục thì các bạn click chuột vào phần đường dẫn của thư mục đó.
Lưu ý: trong các hình trên cần đặt tên để dễ dàng khi chọn trong Combobox (thường không sử dụng tên tiếng việt có dấu bởi VBA có thể mắc lỗi khi không đọc được)
Ở đây chúng ta cần tách 2 phần giai đoạn. Cả 2 câu lệnh theo 2 giai đoạn đều được viết trong cửa sổ View Code của UserForm1
Giai đoạn 1: Nạp danh sách cho Combobox theo tên của các ảnh
Trong thủ tục UserForm_Initialize (khai báo ban đầu cho UserForm) chúng ta viết câu lệnh như sau:
Trong câu lệnh này lưu ý:
(xem thêm: Hướng dẫn cách tạo danh sách chọn cho combobox trong userform VBA Excel)
Giai đoạn 2: Nạp ảnh vào Image1 dựa vào nội dung được chọn trong Combobox
Câu lệnh này đơn giản hơn, bởi chỉ cần căn cứ theo sự kiện thay đổi nội dung trong combobox để tải hình ảnh đúng với tên được chọn trong combobox. Cách viết như sau:
Xong rồi, bây giờ hãy mở UserForm lên và thưởng thức thành quả nào.
Các bạn có thể tải về file mẫu tại địa chỉ: http://bit.ly/2t29SOa
Để tìm hiểu thêm nhiều kiến thức về VBA, mời bạn tham dự khóa học VBA101 – Tự động hóa Excel với lập trình VBA. Đây là khóa học rất hữu ích dành cho bạn, giúp bạn hiểu một cách bài bản về VBA và cách sử dụng VBA, ứng dụng VBA vào công việc để tăng hiệu quả. Hãy cùng khám phá nào: