[英]Select data range for a chart from different sheet using VBA (EXCEL)
假设"chart_sheet"
是Chart
的名称, "data_sheet"
是您的Worksheet
的名称,我想您要执行以下操作:
Charts("chart_sheet").SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
你With
块没有做什么有用的东西-的目的With
块,让您只需键入.
作为Worksheets("data_sheet").
类的快捷方式Worksheets("data_sheet").
。
所以像这样:
With Sheets("chart_sheet")
.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
End With
可以使用,因为.SetSourceData
是Sheets("chart_sheet").SetSourceData
的缩写。 (还要注意, Sheets
集合同时包含Worksheets
和Charts
对象,因此Charts("chart_sheet")
和Sheets("chart_sheet")
都指向同一对象。)
ActiveChart
引用当前活动的图表,就像ActiveSheet
返回到当前工作表一样。 如果执行该段代码时没有活动的图表,则会出现错误。
因此以下代码也可能为您工作:
Sheets("chart_sheet").Activate
ActiveChart.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
由于chart_sheet可能不是工作表,您尝试过吗?
with sheets("chart_sheet")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.