首页 > 解决方案 > VBA 下标超出范围 - Excel 中的错误 9

问题描述

我在尝试运行我的代码时遇到了这个错误,有趣的是每次我在我的电脑上运行它时都不会出现这个错误,有时代码会运行,有时它不会运行,我尝试使用 Cells()而不是范围,但它给了我同样的错误,我不知道为什么。这是我的代码:

Dim wbOrigen As Workbook, _
wsOrigen As Excel.Worksheet, _
wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range
Reporte = Application.Workbooks(1).Worksheets("Datos").Range("B2").Value

Set wbOrigen = Workbooks.Open(ActiveWorkbook.Path & "/" & Reporte & ".xlsx")
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "/Tabla Maestra Invemer.xlsm")

ThisWorkbook.Activate

'Initial Data
Set wsOrigen = wbOrigen.Worksheets("DATOS INICIALES")
Set wsDestino = wbDestino.Worksheets("Datos")

标签: excelvba

解决方案


ActiveWorkbook当您在给定时间使用或打开多个工作簿时,这是一个典型的错误。

  1. 尽量避免你ActiveWorkbook可以输入ThisWorkbook
  2. 关闭所有其他工作簿(如果已打开)(或单击执行 VBA 代码的工作簿)。

推荐阅读