Board logo

標題: [發問] ChartObjects寫法 [打印本頁]

作者: acdx    時間: 2017-6-27 22:19     標題: ChartObjects寫法

最近需用到圖表功能
工作表("Sheet1")中已有3張圖表, 該怎麼利用VBA分別將其複製到工作表"M1", "M2", "M3"?
若是希望3張圖表已截圖方式複製又該如何做呢?希望用截圖方式是為了避免圖表中的數據連結變更會造成圖表跟著變動所以希望用截圖方式
作者: acdx    時間: 2017-6-28 14:06

回復 1# acdx

使用ActiveChart.ChartArea.Copy可以將excel 中的chart存成圖檔
但是當同一個工作表中有數張圖表(例如有3張),該如何分別指定這3張圖表複製到不同工作表中?
作者: Hsieh    時間: 2017-6-29 08:59

回復 2# acdx
  1. Sub ExportChart()
  2. Dim Ct As ChartObject
  3. With 工作表1 '圖表所在工作表
  4. For Each Ct In .ChartObjects
  5.    Ct.CopyPicture xlScreen, xlPicture '複製圖表為圖片
  6.   With Worksheets.Add '新增工作表
  7.   .Name = Ct.Name '工作表以圖表名稱為名
  8.   .Paste '貼上圖片
  9.   End With
  10. Next
  11. End With
  12. End Sub
複製代碼

作者: acdx    時間: 2017-6-29 15:03

回復 3# Hsieh
在For Each Ct In .ChartObjects會出現錯誤  "此處需要物件"
作者: c_c_lai    時間: 2017-6-29 17:27

本帖最後由 c_c_lai 於 2017-6-30 10:24 編輯

回復 4# acdx
因為你內定表單的名稱 (Name) 不符,
  1. With 工作表1    '圖表所在工作表
複製代碼
所以接下來在執行
  1. For Each Ct In .ChartObjects
複製代碼
便會出現 "此處需要物件"。

亦即,請先檢查放置圖表的原工作表單名稱。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)