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

Excel VBA复制模板工作表报错:仅首次运行正常,后续提示‘Object Required’

问题原因与解决办法

为什么会触发“Object Required”错误?

Worksheets.Copy方法不会返回新创建的工作表对象,你原写法Set wksNew = ActiveWorkbook.Worksheets("Base").Copy(...)是错误的——第一次运行看似正常只是偶然,后续循环里这个赋值会失败,导致wksNew变成空对象(Nothing),再执行wksNew.Name = ...就会触发错误。

正确修改后的代码

复制模板后,直接引用最后一个工作表(因为Copy指定After:=Sheets(Sheets.Count),新表会被放在所有工作表的最后):

' 复制Base模板到工作表末尾
ActiveWorkbook.Worksheets("Base").Copy After:=Sheets(Sheets.Count)
' 获取刚复制完成的工作表
Set wksNew = ActiveWorkbook.Sheets(Sheets.Count)
' 给新工作表重命名
wksNew.Name = rngCell.Value

额外注意点

  • 确保名为“Base”的模板工作表处于可见状态,隐藏状态下复制可能出现异常。
  • 提前处理重名问题:如果rngCell.Value对应的工作表名称已经存在,执行重命名会报错,可以添加判断逻辑避免冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 09:52:02