使用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").之类的快捷方式键入。

所以类似:

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")

相关内容

  • 没有找到相关文章

最新更新