繁体   English   中英

使用VBA(EXCEL)从其他工作表中选择图表的数据范围

[英]Select data range for a chart from different sheet using VBA (EXCEL)

如何使用VBA从其他工作表中选择图表的数据范围? 假设数据表名称为data_sheet ,图表表名称为chart_sheet ,而我的数据范围为A1:A20 如何在Excel中做到这一点? 我检查了此内容,但不适用于其他工作表。 否则,我检查了此内容,但返回了以下错误:下Subscript out of range

 With Worksheets("chart_sheet")
       ActiveChart.SetSourceData Source:=Worksheets("data_sheet").Range("A1:A20")
 End With

假设"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

可以使用,因为.SetSourceDataSheets("chart_sheet").SetSourceData的缩写。 (还要注意, Sheets集合同时包含WorksheetsCharts对象,因此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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM