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

VBA运行时错误9:按名称引用工作簿内工作表时报下标越界

故障根因

触发运行时错误9(下标越界)的核心原因是代码存在变量名笔误:
你在打开仓库工作簿的代码行Set repositorio_wb = Workbooks.Open(Filename:=nominas_path)中,传入的是第一步选择工资单文件时存储的路径nominas_path,而非第二步用户选择仓库文件时存储的repositorio_path。
这行代码实际重复打开了第一次选中的工资单工作簿,该工作簿内不存在你要引用的repositorio、conceptos等工作表,因此无论用工作表名称还是索引序号引用,都会触发下标越界报错。

修复方法
  • 修正打开仓库工作簿的路径参数,将笔误的变量名替换为正确的仓库路径变量,修改后代码为:
Set repositorio_wb = Workbooks.Open(Filename:=repositorio_path)
  • 建议增加工作表存在性校验,避免因工作表名带前后空格、拼写误差、选错文件等问题重复触发同类错误,参考校验逻辑:
' 校验repositorio工作表是否存在
Dim targetWs As Worksheet
On Error Resume Next
Set targetWs = repositorio_wb.Worksheets("repositorio")
On Error GoTo 0
If targetWs Is Nothing Then
    MsgBox "选中的仓库文件中未找到名为repositorio的工作表,请确认选择的文件正确"
    repositorio_wb.Close SaveChanges:=False
    Exit Sub
End If
Set repositorio_ws1 = targetWs
参考截图(报错关联的目标工作簿工作表列表)

仓库工作簿工作表截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:18:33