我想从宏打开excel文件Project.xlsx。所以我在我的宏中使用它。
Workbooks.Open ("C:\Users\Project.xlsx")
但是,Project.xlsx的位置可能是随机的。 所以我打算创建另一个名为master.xlsx的工作簿,其中包含project.xlsx的默认位置。 这是我的master.xlsx,单元格A2包含Project.xlsx的位置。
有人可以帮我解决如何在宏中编写代码吗?我猜它会像
Workbooks.Open (Master.xlsx!Sheet1!A2 & "Project.xlsx")
答案 0 :(得分:1)
您可以使用基本资格让VBA确切知道它可以找到主工作簿的位置。
此过程假定Master.xlsx工作簿未打开。而且你必须指定它的路径。
Sub tmp()
Dim master_wb As Workbook, project_wb As Workbook
Set master_wb = Workbooks.Open(path_to_your_master_workbook & "\Master.xlsx")
Set project_wb = Workbooks.Open( _
master_wb.Sheets("Sheet1").Range("A2").Value & "Project.xlsx")
master_wb.Close
End Sub
答案 1 :(得分:0)
我认为语法为'[WorkbookName]WorksheetName'!CellAddress
。
在您的情况下,Set oWB = Workbooks.Open(Range("'[Master.xlsx]Sheet1'!A2").Value & "Project.xlsx")
。
但我想知道你在哪里存储宏?因为没有人指出启用宏的Excel文件。