Abra um arquivo específico em uma pasta específica, junto com uma folha específica

0

O código abaixo abre um arquivo específico em uma pasta específica, mas não em uma planilha específica:

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 

Como o código funciona:

  • Mencione o caminho na célula A1 D:\My Data/
  • Mencione o subdiretório na célula B1 Kitchen/
  • Mencione o nome do arquivo na célula C1 Test.xls

Quando a macro é executada, ela abre a planilha especificada, ou seja, teste de planilha.

Eu preciso de mais uma adição ao código acima, em que se um sheetname for especificado em D1 Examples , a macro deve abrir a planilha Test e ir para sheetname Examples.

    
por Bimmy 22.11.2014 / 18:38

1 resposta

1

Workbook.Open não suporta a especificação um nome de folha.

Você precisa mudar para sua planilha manualmente com 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

Ou encurtado

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
    
por 22.11.2014 / 21:49

Tags