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

Excel 2013 VBA动态设置图表数据源时出现运行时错误438

解决Excel 2013 VBA图表数据源设置的Run-time error '438'问题

你遇到的这个438错误,核心原因很明确:你调用的ChartObjects对象本身并不支持SetSourceData方法——它只是工作表上的图表容器,真正负责数据源设置的是它内部的Chart对象。

给你修正后的代码,直接替换原来的写法即可:

fdc = 26 
ldc = 90 
ws.ChartObjects("Chart 2").Chart.SetSourceData Source:=ws.Range("S" & fdc & ":V" & ldc)

补充几个需要注意的细节:

  • 务必确保ws变量已经正确指向目标工作表,比如提前用Set ws = ThisWorkbook.Sheets("你的工作表名称")完成赋值,不然可能会出现隐性的引用错误。
  • 检查图表的名称是否准确:右键工作表上的图表,选择「查看代码」,在弹出的属性窗口里看(Name)属性是不是真的是"Chart 2"——有时候手动修改过图表名称会和显示的不一致。
  • 如果你的图表需要包含表头行,记得把范围调整为包含表头,比如改成ws.Range("S" & fdc-1 & ":V" & ldc),根据你的实际数据结构来调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:45:41