You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA修改已创建图表数据源范围报错,求解决方法

解决VBA图表数据源设置报错问题

你报错的核心原因是:SetSourceData方法的Source参数要求传入Range对象,而不是单元格地址的字符串。你之前直接传了拼接后的字符串,VBA无法识别为有效的数据源范围。

修正后的代码可以这样写:

Dim LastRow As Long
LastRow = 108
' 先获取目标工作表上的Range对象
Dim chartRange As Range
Set chartRange = Worksheets("MachineData").Range("B2:C" & LastRow)
' 为图表设置数据源
Worksheets("MachineData").ChartObjects("Chart 1").Chart.SetSourceData Source:=chartRange

如果不想额外定义变量,也可以直接在方法里指定Range:

Dim LastRow As Long
LastRow = 108
Worksheets("MachineData").ChartObjects("Chart 1").Chart.SetSourceData _
    Source:=Worksheets("MachineData").Range("B2:C" & LastRow)

如果运行还是报错,检查这几个细节:

  • 确认工作表名称MachineData拼写完全正确,没有空格或大小写错误
  • 确认该工作表上确实存在名为Chart 1的图表对象(可以通过Excel菜单栏的「开始」→「查找和选择」→「选择窗格」查看所有对象名称)
  • 确认LastRow的值是合法的行号(这里108是有效行号,无需调整)

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 05:42:05