下标超出范围 – 取决于用户
我有一个Excel工作簿,其中有几个macros,其中4个是“设置”macros,将信息写入某些单元格,而最后一个“工具”macros是引用其他macros在运行时写入的单元格的macros。
“工具”macros工作正常。 问题在于“设置”macros。
有2种不同的“设置”macros,其中2个打开文件浏览器,用户可以select“源”和“目的地”文件,然后将文件的path打印到它们各自的单元格中,而另外两个打开“源”文档,以便用户可以突出显示他们想要复制的单元格。
整个过程一直很顺利,直到我的一个同事向我走来,说当他们试图运行打印单元格的范围和位置的2个“Settings”macros时,他们得到了错误。
所有4个“设置”macros代码在这里。
给出问题的两个macros是ChangeDataWithLoop和HeaderLocationsWithLoop 。
错误出现在两个macros的同一行代码中。
SrcPath = Workbooks("Data Tool 2").Worksheets("Data Tool Settings").Cells(6, 3).Value
错误是#9
下标超出范围。
我到目前为止一直无法重新创build我的机器上的错误,但错误已被另一个同事login到另一台机器重复。
我完全难住了。 请帮忙!
其他信息:
- 包含所有5个macros的工作簿的名称是“数据工具2”,它位于networking驱动器上。
- 工作表的名称是“数据工具设置”
- 我被列为文件的作者。 (不知道是否重要)
- 该文件不受保护。
几件事情:
1)检查是否所有用户的文件扩展名都显示在文件夹选项下(即Data Tool 2.xlsm)
2)尝试删除工作簿/工作表名称上的空格,以避免隐藏ascii字符
3)检查专用单元格值。 它是否包含一些可能无法读取的字符? (即特定的语言)
将“工作簿”(“数据工具2”)。工作表“更改为表格。 工作正常 – 在多台机器/用户ID上多次testing。