2011-09-07 39 views
2

我有这个Excel文档,它包含几个目标命名范围都是预定义的图表。问题是,图表所需的引用出于某种原因需要包含文档的名称。我设法在工作表中添加文档的文件名。但是,在分配图表来源时,我无法直接定位此单元格。Excel VBA - 以编程方式更改图表的来源?

所以,当我编辑图表,并选择源,它看起来像这样:

='MyExcelDocument.xlsm'!Graphs_TotCost 

出于某种原因,当我的目标包含文件名中的单元格Excel不明白。所以我可能必须通过一个宏来做到这一点,首先定义一个字符串变量,将文档名称分配给该字符串。然后分配与Graphs_TotCost结合的完整字符串。那么,如何选择Sheet3中的图表并使用宏更改该图表的来源?

回答

1

你可以用这种说法更改图形源:

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

你也很可能使用图表对象的SetSourceData方法。

+1

如果它是一个现有对象,则应使用SetSourceData方法。向导可能会应用默认图表模板,如果它不同于当前的?不确定个人没有测试过这种情况。 –