使用单元格的内容作为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”)。