我不是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版本上适用于我,而且对其他人来说也没有。
任何帮助和建议都将不胜感激。
答案 0 :(得分:0)
事实证明,添加文件扩展名解决了Tim提出的问题 -
Workbooks("script.xlsx")
这样它就可以在所有PC上运行。这很简单,但我不知道。
再次感谢。