使用单元格的内容作为宏中文件位置的一部分

时间:2016-08-23 15:40:54

标签: excel vba excel-vba 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)中有一个电子表格。

提前致谢!

1 个答案:

答案 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”)。