excel - 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")
解决方案
ActiveWorkbook
当您在给定时间使用或打开多个工作簿时,这是一个典型的错误。
- 尽量避免你
ActiveWorkbook
可以输入ThisWorkbook
- 关闭所有其他工作簿(如果已打开)(或单击执行 VBA 代码的工作簿)。
推荐阅读
- r - 相对于变量的模态绘制具有不同颜色的 geom_vlines
- java - 使用 Void 或返回类型方法将值设置为对象
- python - 将字符串列转换为浮点数时出错
- amazon-web-services - InstanceID 和 ImageID 的区别
- docker - Mediawiki 与 Docker Imagemagick
- java - Spring 5.0.7.RELEASE 中的 Web 层单元测试和集成测试
- python - Python numpy 用索引拆分
- tableau-api - 如何从 rundeck 的活动日志中检索详细信息
- python - 如何使用 BeautifulSoup 进行更改和更新源代码
- r - R中的时间指数