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

从Sheet1复制内容到Sheet9时出现Subscript out of range错误求助

解决VBA复制工作表时的"Subscript out of range"错误

排查方向及解决办法

  • 工作表名称不符
    VBA中Sheets("XXX")引用的是工作表标签显示的名称,不是VBA编辑器里的代码名称。主文件里的Sheet1或Sheet9可能被重命名了(比如标签改成了"原始数据""结果表"),导致代码找不到对应工作表。
    两种修正方式:

    1. 用代码名称引用:右键工作表标签→查看代码,确认(Name)属性,直接用该名称编写代码:
      Sub Copy()
          Sheet1.Range("B5").Copy Destination:=Sheet9.Range("K1")
      End Sub
      
    2. 修改代码中的名称为实际标签名:
      Sub Copy()
          Sheets("实际标签名1").Range("B5").Copy Destination:=Sheets("实际标签名9").Range("K1")
      End Sub
      
  • 目标/源工作表不存在
    检查主文件的工作表标签,确认Sheet1和Sheet9都存在,没有被删除。

  • 未指定工作簿导致引用错误
    如果同时打开了多个工作簿,代码可能误引用到其他工作簿的工作表。明确指定当前工作簿:

    Sub Copy()
        ThisWorkbook.Sheets("Sheet1").Range("B5").Copy Destination:=ThisWorkbook.Sheets("Sheet9").Range("K1")
    End Sub
    
  • 工作表状态异常
    检查Sheet1和Sheet9是否被隐藏、保护,这类状态可能导致代码无法正常访问工作表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:57:32