2011-09-07 65 views
2

我有這個Excel文檔,它包含幾個目標命名範圍都是預定義的圖表。問題是,圖表所需的引用出於某種原因需要包含文檔的名稱。我設法在工作表中添加文檔的文件名。但是,在分配圖表來源時,我無法直接定位此單元格。Excel VBA - 以編程方式更改圖表的來源?

所以,當我編輯圖表,並選擇源,它看起來像這樣:

='MyExcelDocument.xlsm'!Graphs_TotCost 

出於某種原因,當我的目標包含文件名中的單元格Excel不明白。所以我可能必須通過一個宏來做到這一點,首先定義一個字符串變量,將文檔名稱分配給該字符串。然後分配與Graphs_TotCost結合的完整字符串。那麼,如何選擇Sheet3中的圖表並使用宏更改該圖表的來源?

回答

1

你可以用這種說法更改圖形源:

Charts("Chart1").ChartWizard Source:="Graphs_TotCost" 

你也很可能使用圖表對象的SetSourceData方法。

+1

如果它是一個現有對象,則應使用SetSourceData方法。嚮導可能會應用默認圖表模板,如果它不同於當前的?不確定個人沒有測試過這種情況。 –