#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 понять это при запуске. Надеюсь, это имеет смысл.