这就是我所拥有的:
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)中有一个电子表格。
提前致谢!
答案 0 :(得分:0)
问题是你没有传递字符串,而是传递带有该代码的范围。这会导致运行时错误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”)。