创建图表时更改SetSourceData范围

时间:2014-10-10 10:39:18

标签: excel vba

我有一些VB编码,它隐藏了所需单元格值之上和之下的行,这些行将用作简单折线图的源数据。

如何选择剩余(未隐藏)单元格范围作为我的SetSourceData范围?

我可以选择以下范围......

Range("D6").Offset(1, 0).Select
Range(Selection, Selection.End(xlDown)).Select

......范围始终从单元格C6下方的单元格开始。

当我尝试将其用作我的SetSourceData范围时......

ActiveSheet.Shapes.AddChart.Select

ActiveChart.SetSourceData Source:=Range("D6").Offset(1, 0).Select.Range(Selection, Selection.End(xlDown)).Select

ActiveChart.ChartType = xlLine

...我收到以下错误:

运行时错误'': 对象不支持此属性方法

有什么想法吗?

由于


实际上,以下代码选择了我需要的数据......

Range("D7", Cells(Rows.count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible).Select

...但是,如何将其用作图表的数据源?

1 个答案:

答案 0 :(得分:0)

抱歉,创建更有效的选择代码后......

Range("D7", Cells(Rows.count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible).Select 

......我意识到我只需要将代码用作图表数据源,就可以从代码中删除'.select'!!!

ActiveSheet.Shapes.AddChart.Select

ActiveChart.SetSourceData Source:=Range("D8", Cells(Rows.count, "D").End(xlUp)).SpecialCells(xlCellTypeVisible)

ActiveChart.ChartType = xlLine

现在运行正常。