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

Excel VBA批量复制粘贴图表随机报错问题求助

Excel VBA图表复制随机报错问题

我编写了一段Excel VBA代码,用于将多个工作表中的图表复制到汇总页。代码可完成预期功能,但会随机抛出Excel错误,点击调试后继续运行即可正常执行。

错误完全随机,出现顺序不固定,有时不报错,有时报错1-10次不等,重复运行无改动的代码情况也不同。

报错信息包括:

  • "指定的维度对当前图表类型无效。"
  • "对象'_Worksheet'的'Paste'方法失败。"
    曾出现第三种错误,后续会补充。

最初的While循环实现代码

Dim ua, udc, wa, wdc, su As Worksheet
Set ua = ThisWorkbook.Worksheets("Unweighted Analysis")
Set udc = ThisWorkbook.Worksheets("Unweighted Data Checks")
Set wa = ThisWorkbook.Worksheets("Weighted Analysis")
Set wdc = ThisWorkbook.Worksheets("Weighted Data Checks")
Set su = ThisWorkbook.Worksheets("Summary Page")

i = 1
j = 0
k = 15
l = 2
count = 1
While i < 11
    Application.DisplayAlerts = False
    Application.CutCopyMode = False
    j = j + 1
    
    If i < 3 Then
        ua.ChartObjects(j).Copy
      
        If i = 2 Then
            j = 0
        End If
        
    ElseIf i < 6 Then
        udc.ChartObjects(j).Copy
        
        If i = 5 Then
            j = 0
        End If
        
    ElseIf i < 8 And seq <> 4 Then
        wa.ChartObjects(j).Copy
        
        If i = 7 Then
            j = 0
        End If
        
    ElseIf i < 11 And seq <> 4 Then
       wdc.ChartObjects(j).Copy
        
        If i = 10 Then
            j = 0
        End If
    End If
    
    DoEvents
    su.Paste su.Cells(k, l)
    
    'With su.Cells(k, l).PasteSpecial.xlPasteAll
    '    .Left = su.Cells(k, l).Left
    '    .Top = su.Cells(k, l).Top
    '    .Width = 500
    'End With
    k = 15 + (i) * 25
    i = i + 1
Wend
Application.DisplayAlerts = True
l = l + count * 11
count = count + 1

优化后的For Each循环代码

j = 0
k = 15
For i = 3 To 6
    For Each Cht In ThisWorkbook.Worksheets(i).ChartObjects
        Application.CutCopyMode = False
        Debug.Print Cht.Name
        Cht.Copy
        su.Paste su.Cells(k, l)
        k = k + 25
        j = j + 1
    Next Cht
Next i

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 22:47:03