Відкрийте певний файл у певній теці разом із певним аркушем


0

Наведений нижче код відкриває певний файл у певній теці, але не на певному аркуші:

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 Макрос повинен відкрити тестовий аркуш і перейти до назви аркуша Приклади.


це для excel або openoffice або щось інше?
— user 99572 is fine

@ user99572визначає Excel
— Bimmy

Відповіді:


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

Перш за все дозвольте сказати ДЯКУЄМО. Скорочений код спрацьовує, якщо текст або алфавітно-цифрові дані вводяться в D1, це працює, однак, якщо вводяться цифри, він відкриває потрібний лист книги, але я отримую спливаюче вікно - невизначений індекс. D1 він все одно повинен відкривати вказану книгу без будь-якого спливаючого повідомлення. Буде вдячний за вашу допомогу.
— Bimmy

відредагований код працює - СПАСИБО - як згадувалося раніше, якщо D1 залишається порожнім, я все одно отримую спливаюче підпису поза діапазоном. якщо D1 заповнений або залишений порожнім
— Bimmy

Точно те, що я шукав. Дякуємо за терпіння, щоб відповісти на всі мої запити. Відзначили, що задавати питання окремо.
— Bimmy

Здравствуйте, Bimmy. Якщо ця відповідь вирішила ваше початкове запитання, позначте її як прийняту (зелену галочку) або анонсуйте її таким чином, щоб у майбутньому питання не натрапило на головну сторінку
— nixda
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.