我在名为“Payroll_Cleanup”的工作簿中编写了一个宏来清理/格式化名为“Payroll”的文件。
我有宏文件和要清理的文件在同一个文件夹中。
宏在我的电脑上运行良好。
但是,将我在另一个用户桌面上拥有的相同文件夹以便他们可以运行该文件时,他们会收到"Subscript out of Range"错误消息。
VBA 调试器突出显示这一行
Set wb1 = Workbooks("Payroll_Cleanup") 'out of range error
Run Code Online (Sandbox Code Playgroud)
记住,这是已经打开的文件
所以我把那行代码改成
Set wb1 = ActiveWorkbook
Run Code Online (Sandbox Code Playgroud)
太好了,所以现在继续。
现在它给了我另一个"Subscript out of Range"错误:
Workbooks.Open ("Payroll.xlsb") 'file to be cleaned that is in the same folder.
Run Code Online (Sandbox Code Playgroud)
这稍后设置为 Set wb2 = Workbooks("Payroll")
既然我不能只做另"ActiveWorkbook"一条线,我还能做什么?我错过了什么?我检查了信任中心宏设置,它们完全匹配。