我在工作表中有一个嵌入式图表" Daten_G9-G10"。在同一张表格中,有一个名称" Chart9",这是一个动态范围:
= OFFSET(' Daten_G9-G10' $ G $ 31日; 0; 0; MAX(' Daten_G9-G10' $ F $ 31:!$ F $ 51)+1; COUNTA (' Daten_G9-G10' $ G $ 30:!$ $ AAA 30))
我的目标是更新图表的数据范围。
Sub UpdateChartSourceData()
With ActiveSheet
.ChartObjects(1).Chart.SetSourceData _
Source:=.Range("Chart9"), _
PlotBy:=xlRows
End With
End Sub
到目前为止,这个宏运作良好。但我已将图表移到新表中:" G9"。这就是我的问题开始的地方:"运行时错误'',对象不支持此属性或方法"。
我如何调整我可以更新此图表的宏,仍然参考表格中的名称" Daten_G9-G10"作为图表的数据范围?
答案 0 :(得分:0)
现在,您的代码仅引用ActiveSheet
,这可能是因为您的图表在ActiveSheet上,但数据在另一张表上而导致错误。
试试这个:
Sub UpdateChartSourceData()
' ## Modify the next line to refer to your chart sheet's name:
With Worksheets("_Sheet_With_Chart_")
.ChartObjects(1).Chart.SetSourceData _
Source:=Worksheets("Daten_G9-G10").Range("Chart9"), _
PlotBy:=xlRows
End With
End Sub
从评论中更新
如果处理图表工作表,请修改以使用Sheets
集合(Worksheets
会引发错误)
Sub UpdateChartSourceData()
' ## Modify the next line to refer to your chart sheet's name:
With Sheets("_Sheet_With_Chart_")
.Chart.SetSourceData Source:=Worksheets("Daten_G9-G10").Range("Chart9"), _
PlotBy:=xlRows
End With
End Sub