Как мне использовать подстановочный знак при использовании VBA в Excel для выполнения Workbook.open для имени каталога?

#excel #vba #wildcard

#excel #vba #подстановочный знак

Вопрос:

Я использую workbooks.открыть, чтобы получить доступ к файлу Excel в каталоге, имя которого будет меняться в зависимости от изменений. Я буду обрабатывать некоторые ячейки из этой книги Excel в моей активной книге.

Текущий файл, к которому мне нужно перейти, находится в следующем каталоге:

 d:masters777software7770123 Rev A7770123.xlsx
  

Папка 7770123 Rev A будет иногда меняться при внесении изменений в файл xlsx.

Когда 7770123 Rev A изменится на 7770123 Rev B, папка 7770123 Rev A будет заменена на папку 7770123 Rev B.

Папка 7770123 Rev A будет удалена из каталога. Файл xlsx является единственным файлом в версии 7770123? папка.

Вот что я работаю с фиксированной структурой каталогов. Нужно знать, как / если я могу сделать это с помощью подстановочного знака?

 Dim wbkFrom, wbkTo As Workbook

Set wbkTo = ActiveWorkbook
Set wbkFrom = Workbooks.Open("d:masters777software7770123 Rev A7770123.xlsx")

wbkFrom.Sheets("Jigs").Range("A1:H500").Copy

wbkTo.Sheets("Jigs").Range("A1").PasteSpecial (xlPasteValues)
  

Ответ №1:

измените путь к папке только следующим образом: Установите wbkFrom = Workbooks.Открыть(«d:masters777software7770123 Rev » amp; Sheets(«»).Range («A1»).value amp;»7770123.xlsx «) где Sheets(«»).Range(«A1»).value может быть «A» или «B» или использовать любую другую ячейку на листе для этого ввода

Комментарии:

1. Будет ли эта ячейка, содержащая «A» или «B», находиться на листе в 77701223.xlsx или моя активная рабочая книга?

Ответ №2:

@Randy Withcomb: ваша активная рабочая книга

Комментарии:

1. Это приведет к необходимости обновления активного листа с обновленной буквой редакции файла wkbFrom. Если бы я собирался это сделать, я бы просто обновил код VBA в том виде, в каком он у меня есть, на новую букву. Любой из этих методов потребует внесения изменений в активную книгу перед запуском кода. Я ищу способ заставить код VBA понять это при запуске. Надеюсь, это имеет смысл.