编码宏以自动更新图表数据范围,不断获得运行时错误1004

时间:2016-03-30 04:51:45

标签: excel vba macros

我是VBA的新手,并尝试在Excel中编写宏代码,自动更新当前电子表格中图表的数据范围,以与活动工作表对应,而不是我创建的模板,我得到了一个非常精彩的运行时错误1004:'应用程序或对象定义错误'我之前使用另一个模板使用此宏,但它已经没有了,因为我更改了范围以适应我正在使用的新模板上的其他图表。抛出异常的行是:

ActiveChart.SeriesCollection(1).XValues = _
    "=" + datas + "!$F$2:$F$51" 

有关如何解决此问题的任何建议吗?

        Sub app_template_data_update()
'
' app_template_data_update Macro
'

'

    ActiveSheet.Name = ActiveSheet.Range("K3")
    datas = ActiveSheet.Range("K3")
    ActiveSheet.ChartObjects("Chart 2").Activate
    ActiveChart.Axes(xlValue).MajorGridlines.Select
    ActiveChart.SeriesCollection(1).XValues = _
        "=" + datas + "!$F$2:$F$51"
    ActiveChart.SeriesCollection(1).Values = _
        "=" + datas + "!$H$2:$H$51"
    ActiveChart.SeriesCollection(2).XValues = _
        "=" + datas + "!$F$52:$F$101"
    ActiveChart.SeriesCollection(2).Values = _
        "=" + datas + "!$H$52:$H$101"

    ActiveSheet.ChartObjects("Chart 1").Activate
    ActiveChart.Axes(xlValue).MajorGridlines.Select
    ActiveChart.SeriesCollection(1).XValues = _
        "=" + datas + "!$F$62:$F$219"
    ActiveChart.SeriesCollection(1).Values = _
        "=" + datas + "!$H$62:$H$219"

    ActiveSheet.ChartObjects("Chart 3").Activate
    ActiveChart.Axes(xlValue).MajorGridlines.Select
    ActiveChart.SeriesCollection(1).XValues = _
        "=" + datas + "!$K$57:$K$66"
    ActiveChart.SeriesCollection(1).Values = _
        "=" + datas + "!$L$57:$L$66"

    ActiveSheet.ChartObjects("Chart 4").Activate
    ActiveChart.PlotArea.Select
    ActiveChart.SeriesCollection(1).Values = _
        "=" + datas + "!$O$75,$O$85"

End Sub

1 个答案:

答案 0 :(得分:0)

OP的评论后

编辑

ActiveChart.SeriesCollection(1).Values = _
        "=" + datas + "!$O$75,$O$85"

进入

ActiveChart.SeriesCollection(1).Values = _
    "=(" + datas + "!$O$75," + datas + "!$O$85)"