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

Excel VBA复制图表至其他工作表报错(800401d0)求助

解决VBA复制图表为图片时的(800401d0)错误

错误原因

这个报错通常是因为直接复制ChartObject容器而非内部的Chart对象,或者频繁的Activate操作干扰了图表的复制状态,部分特殊图表类型(如雷达图、饼图)对直接复制容器的兼容性较差。

修正后的代码

避免使用Activate/Select这类易引发状态问题的操作,直接操作图表对象本身:

' 直接获取Summary工作表中的目标Chart对象
Dim targetChart As Chart
Set targetChart = Sheets("Summary").ChartObjects("Chart 1").Chart

' 以屏幕显示效果复制图表为图片格式
targetChart.CopyPicture Appearance:=xlScreen, Format:=xlPicture

' 将图片粘贴到Scene 1工作表的B28单元格位置
Sheets("Scene 1").Range("B28").PasteSpecial

额外优化建议

  • 若需精准控制粘贴格式,可给PasteSpecial指定参数,比如Paste:=xlPasteAll
  • 循环操作时,建议调整每次粘贴的位置避免图片重叠:
    Dim i As Integer
    For i = 1 To 5
        ' 此处添加更新Y轴数值的代码...
        
        targetChart.CopyPicture Appearance:=xlScreen, Format:=xlPicture
        ' 每次粘贴位置向下偏移30行
        Sheets("Scene 1").Range("B28").Offset((i - 1) * 30, 0).PasteSpecial
    Next i
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:39:18