使用单元格的内容作为macros中文件位置的一部分
这是我的:
Option Explicit Sub EditWorksheet() Workbooks.Open "Y:\Laurence\contents(J2)" Sheets("contents(N2)").Select End Sub
所以我想要做的是让VBA调用单元格J2和N2的值来决定打开哪个工作簿和工作表。 J2可能包含的信息,例如“Forecast2016.xlsx”,N2可能包含“MASTER”。 为了清楚起见,对于这些单元格可能具有的每个可能的内容,我确实在相关文件位置(Y:\ Laurence)中有一个电子表格。
提前致谢!
问题是你没有传递一个string,而是使用该代码的范围。 这会导致运行时错误13.而不是
Workbooks.Open "Y:\Laurence\contents(J2)" Sheets("contents(N2)").Select
尝试
Workbooks.Open "Y:\Laurence\" & Sheets("Contents").Range("N2").Value Sheets(Sheets("Contents").Range("N2").Value).Select
这强制传递单元格的值,而不是对范围的引用。 另外请注意我限定了您所参考的工作表。 就像你之前所做的那样,它会从当时正在打开的任何表中拉出范围(“N2”)。