Biểu đồ trên UserForm

Liên hệ QC

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,954
Trước đây có người từng thắc mắc việc đưa biểu đồ lên UserForm
Tham khảo trang này:
http://www.j-walk.com/ss/excel/tips/tip66.htm
Thấy rằng cách người ta làm là Export Chart ra thành 1 file hình trên đĩa cứng rồi Load hình lên Image của UserForm
Tuy nhiên, từ ngày tôi nghiên cứu về vấn đề Load Shape từ sheet lên form, tôi nhận thấy tuy code loại này có dài hơn nhưng việc áp dụng lại vô cùng đơn giản. Tất cả công việc của ta là xác định đâu là object mà ta muốn load lên UserForm (bất kể object ấy là chart hay là cái gì)
Đại khái code thế này:
Mã:
Private Sub ComboBox1_Change()
  Dim obj As ChartObject, IPic As IPictureDisp
  Sheets("Charts").Range("F1").Value = ComboBox1
  Set obj = Sheets("Charts").ChartObjects(1)
  Set IPic = [COLOR=#ff0000]PictureFromObject(obj)[/COLOR]
  Image1.Picture = IPic
End Sub
Trong code có dùng hàm PictureFromObject nhưng ta cũng không cần quan tâm đến, chỉ biết cách áp dụng là được
Lưu ý: Hàm PictureFromObject không biến object thành file hình trên đĩa cứng mà chỉ convert nó thành dạng IPictureDisp (và Image lại là control có thể tương tác được với dạng IPictureDisp này)
----------------------------------
Mời tham khảo file đính kèm
(với code dạng này, bạn có thể đưa bất cứ thứ "hằm bà lằng" gì lên UserForm cũng không có vấn đề)
 

File đính kèm

Thầy ơi ! Em không chọn điều kiện mà cho load toàn bộ với dạng cột thì phải làm sau thầy ? Em mới học nên đọc code này cũng nhập mờ ! Xin thầy chỉ cho !
 
Upvote 0
Chào Anh !
em có dùng code của anh để đưa biểu đồ lên userform , và thành công . Nhưng có một lỗi nhỏ khi em gắn giá trị từ combobox vào range trên sheet. cụ thể như sau:
1545098302577.png

Em gán giá trị : Sheets("Charts").Range("b1").Value = ComboBox1
với Combobox 1 : ComboBox1.Value = lst_Employee_info.List(LisRow, 2)

Lỗi do giá trị combobox1 không phù hợp với rangge ("B1") .
Em muốn bỏ qua lỗi này hoặc chuyển về giá trị không ( "-"). nhưng không biết viết code chồ này thế nào , nhờ anh giúp , thanks !
 

File đính kèm

Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom