首页 > 解决方案 > VBA SetSourceData 函数有效但给出错误?

问题描述

我有一个名为“图表 1”的基本直方图,想用 VBA 更改源数据。我使用宏记录器给我的代码

Sub setsource()
    Sheets(1).ChartObjects("Chart 1").Activate
    ActiveChart.SetSourceData Source:=Range("C4:C22")
End Sub

但我得到“445 错误:对象不支持此操作。” 但是,数据发生了变化——所以我真的看不出有什么问题。该代码有效并且不会与其他图表类型产生错误,并且当我手动执行时它显然有效。

有人可以帮忙吗?

标签: excelvba

解决方案


试试这个,请尽可能避免Activate

Worksheets(1).ChartObjects("Chart 1").Chart.SeriesCollection.Add _
   Source:=Worksheets(1).Range("C4:C22")

推荐阅读