以下代码会打开特定文件夹中的特定文件,但不打开特定工作表:
Sub test()
Dim myfile As String
myfile = Cells(1, 1).Value & Cells(1, 2).Value & Cells(1, 3).Value
Application.Workbooks.Open Filename:=myfile
End Sub
代码的工作原理:
- 提及单元格 A1 中的路径
D:\My Data/
- 在单元格 B1 中提及子目录
Kitchen/
- 在单元格 C1 中提及文件名
Test.xls
当运行宏时,它会打开指定的工作表,即工作表-测试。
我需要在上面的代码中添加一点,如果在 D1 中指定了工作表名称,则Examples
宏应该打开工作表测试并转到工作表名称示例。
答案1
工作簿.打开不支持指定工作表名称。
你必须切换到你的工作表手动Workbooks.Sheets("Sheet1").Activate
Sub test()
Dim myFilePath As String
Dim myWorkbook As Workbook
myFilePath = Cells(1, 1).Value & Cells(1, 2).Value & Cells(1, 3).Value
mySheetname = Cells(1, 4).Value
Set myWorkbook = Application.Workbooks.Open(Filename:=myFilePath)
On Error Resume Next
myWorkbook.Sheets(Cstr(mySheetname)).Activate
On Error GoTo 0
End Sub
或者缩短
Sub test()
Set myWorkbook = Application.Workbooks.Open(Filename:=[A1] & [B1] & [C1])
On Error Resume Next
myWorkbook.Sheets(Cstr([D1])).Activate
On Error GoTo 0
End Sub