打开特定文件夹中的特定文件以及特定工作表

打开特定文件夹中的特定文件以及特定工作表

以下代码会打开特定文件夹中的特定文件,但不打开特定工作表:

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

相关内容