線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2711
推到 Plurk!
推到 Facebook!

怎麼不透過剪貼簿複製Excel內的Chart

缺席
junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-21 16:55:53 IP:220.130.xxx.xxx 訂閱
我有一個Excel檔, 有2個Sheet, 若在Sheet1內有1個Chart, 要怎麼寫程式把這個Chart複製到Sheet2呢?
網路上有很多類似以下的code
ActiveSheet.ChartObjects("圖表1").Activate
ActiveChart.ChartArea.Copy
Sheets("Sheet1").Select
ActiveSheet.Paste
這些Code都是先把圖表複製到剪貼簿內(Ctrl C), 然後再到目的Sheet執行貼上(Ctrl V)的動作, 但是這樣會造成一個問題,
如果同時有多個Excel檔做Chart複製時,會有Chart亂掉的情形,

例如:
A程式執行到Sheets("Sheet1").Select時,
B程式剛好執行到ActiveChart.ChartArea.Copy這一行,
這樣剪貼簿內的chart就變成B程式的圖表了,
若A程式繼續執行ActiveSheet.Paste,就會發生所貼上的Chart是B程式所Copy的chart,

所以,不知道有沒有辦法是不透過剪貼簿去複製Excel Chart的呢?

junlin
初階會員


發表:66
回覆:94
積分:42
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-21 17:58:18 IP:61.220.xxx.xxx 訂閱
找半天,結果才PO出來就找到了
我用VB, Delphi的語法就給有需要的人自己去改了
Dim test As Excel.ChartObject
Set test = xlSheet.ChartObjects("圖表 1").Duplicate <----複製
test.Chart.Location xlLocationAsObject, "Sheet1" <----移到Sheet1

系統時間:2024-04-17 2:44:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!