VBA SetSourceData函数起作用,但给出错误?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBA SetSourceData函数起作用,但给出错误?相关的知识,希望对你有一定的参考价值。

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

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

但是我收到“ 445错误:对象不支持此操作。”但是,数据已更改-所以我真的看不出有什么问题。该代码可以正常工作,并且不会对其他图表类型产生错误,并且当我手动执行时,显然可以正常工作。

有人可以帮忙吗?

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

可以在以下问题中找到一些图表刷新的好示例:Refresh all charts without blinking

另一答案

尝试一下,请尽量避免使用Activate

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

以上是关于VBA SetSourceData函数起作用,但给出错误?的主要内容,如果未能解决你的问题,请参考以下文章

VBA Dir 函数在 Excel 2010 上不起作用

Excel VBA Like 函数不起作用

VBA中的求和函数

Vba窗体的keydown怎么不起作用

为啥这个 VBA if 语句不起作用?

Access 2010 VBA:为啥这个表单打开和关闭序列不起作用?