Я отвечаю за еженедельные отчеты о работе. Я использую персональный модуль VBA для создания кода. Все рабочие книги будут использовать одно и то же соглашение об именах, единственная разница будет заключаться в датах в конце рабочей книги. Например: я хочу вытащить из книги A, названной «workbook A 10.28.19.xlsx», в книгу B, названную «workbook B 11.4.19.xlsx». Как я могу сделать так, чтобы мне не приходилось вручную менять имя книги в коде каждую неделю?
Я только начал изучать VBA, и я подумал об использовании подстановочных знаков для ссылок на строки, но я думаю, что природа соглашений об именах делает его немного сложнее.
Это то, что я имею до сих пор:
Workbooks("workbook A
10.28.19.xlsx").Worksheets("sheet1").Range("AD:AE").Copy _
Workbooks("workbook B
11.4.19.xlsx").Worksheets("sheet1").Range("AD:AE")
End Sub
Код работает нормально, просто нужно сделать его динамичным, если это возможно
РЕДАКТИРОВАТЬ: Спасибо за комментарии до сих пор. Некоторые пояснения, которые я добавлю здесь: «рабочая книга A / B», которую я использовал в этом примере, являются фиксированными именами, и единственное, что изменится, - это дата. В отчете всегда будут использоваться даты понедельника, потому что мне нужно смотреть на итоги WoW, чтобы оно не имело значения для выходных. Когда наступит 2020 год, даты действительно будут изменены на xx.xx.20.