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


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.