Excel VBA脚本错误下标超出范围(错误9)

时间:2016-08-06 21:35:10

标签: excel vba

我不是VBA的专家,但我已经为Excel编写了一个vba脚本,包含12个带代码的模块,很多代码。这是一个非常复杂的脚本,但它工作正常。问题是它只适用于我的电脑。我在3台不同的PC上测试了它,使用了不同的Excel版本2007,2013和2016,并且它没有任何问题。但是,当我将剧本提供给我的合作时,它会给出错误。

实施例: 这对我有用:

Private Sub Test()

Workbooks("script").Sheets("Sheet1").Range("A:Z").ClearContents
......

它在其他计算机上给出了错误下标超出范围(错误9),我不知道为什么。如果我将代码更改为:

Private Sub Test()

Set wb1 = ActiveWorkbook

wb1.Sheets("Sheet1").Range("A:Z").ClearContents
......

它也适用于其他电脑,但如果我必须以这种方式更改代码,则需要花费大量时间,最重要的是,如果它在修改后工作,我无法测试它,因为它适用于我还是。

我找到了这个帖子VBA Subscript out of range - error 9,但我没有解释为什么它在不同的Excel版本上适用于我,而且对其他人来说也没有。

任何帮助和建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

事实证明,添加文件扩展名解决了Tim提出的问题 - Workbooks("script.xlsx") 这样它就可以在所有PC上运行。这很简单,但我不知道。

再次感谢。