获取运行时错误9:当尝试从另一个打开的工作簿中的范围获取值时,下标超出范围

时间:2018-02-13 12:38:44

标签: excel-vba collections runtime-error vba excel

在一个工作簿中工作时,我的代码将命名范围的值放在另一个打开的工作簿(Workbooks(“Draft Sales”))中。我没有激活工作簿(“销售草稿”)。这适用于我的计算机和我的一个同事计算机,但不适用于其他两个同事计算机 - 它会显示错误消息“运行时错误9:下标超出范围”。 我不明白有什么区别。我们都使用相同版本的Excel(Excel 2013,32位),并且代码的其他部分在所有四台计算机上都能正常工作。

以下两个代码示例适用于我们两个人而不是其他两个:

varFormula = Workbooks("Draft Sales").Worksheets("HoldingBay").Range("InvOrCreditGrossTotalFormula").Formula

dblChkCalcd = Workbooks("Draft Sales").Worksheets("HoldingBay").Range("CheckCalculationIsFinished").Value

我已经在同事的计算机上确认“销售草稿”工作簿是在同一个Excel实例中打开的,通过运行代码列出所有打开的工作簿,这确实选择了“草稿销售”工作簿。

有人可以建议为什么代码不能在我同事的计算机上运行吗?

1 个答案:

答案 0 :(得分:0)

需要包含工作簿扩展名: Workbooks("Draft Sales.xlsx")