Добрый день,
Есть 85 книг эксель, в каждой несколько вкладок, вкладки всегда одинаковы, некоторых вкладок может не хватить. Например:
Название "01.xlsx", вкладки kons1, kons2, kons3
Название "02.xlsx", вкладки kons1, kons2
Название "03.xlsx", вкладки kons1, kons3
Есть один файл-образец "K3Original.xlsx", в котором прописаны проверочные формулы. Формулы я хочу скопировать в каждую из 85 книг на соответствующий лист. Сейчас я делаю это так: открываю файл 01, применяю макрос (сохранен в PERSONAL.xlsx), сохраняю результат. Открываю файл 02, изменяю текст макроса с названием книги, применяю макрос, сохраняю результат. И так 85 раз.
Как мне использовать один и тот же макрос на всех файлах, не изменяя вручную имя файла в макросе? В моем представлении, я должен ввести переменную "название книги" (от 01 до 85), и зациклить макрос до тех пор, пока он не пройдет все имена файлов. Вот только как это сделать?
Пример кода для файла с названием 01:
Есть 85 книг эксель, в каждой несколько вкладок, вкладки всегда одинаковы, некоторых вкладок может не хватить. Например:
Название "01.xlsx", вкладки kons1, kons2, kons3
Название "02.xlsx", вкладки kons1, kons2
Название "03.xlsx", вкладки kons1, kons3
Есть один файл-образец "K3Original.xlsx", в котором прописаны проверочные формулы. Формулы я хочу скопировать в каждую из 85 книг на соответствующий лист. Сейчас я делаю это так: открываю файл 01, применяю макрос (сохранен в PERSONAL.xlsx), сохраняю результат. Открываю файл 02, изменяю текст макроса с названием книги, применяю макрос, сохраняю результат. И так 85 раз.
Как мне использовать один и тот же макрос на всех файлах, не изменяя вручную имя файла в макросе? В моем представлении, я должен ввести переменную "название книги" (от 01 до 85), и зациклить макрос до тех пор, пока он не пройдет все имена файлов. Вот только как это сделать?
Пример кода для файла с названием 01:
| Код |
|---|
'KONS2
Windows("K3Original.xlsx").Activate
Sheets("kons2").Select
Rows("25:29").Select
Application.CutCopyMode = False
Selection.Copy
Windows("01.xlsx").Activate
Sheets("kons2").Select
Rows("25:29").Select
ActiveSheet.Paste
ActiveWindow.View = xlNormalView
'KONS3
Windows("K3Original.xlsx").Activate
Sheets("kons3").Select
Columns("I:I").Select
Application.CutCopyMode = False
Selection.Copy
Windows("01.xlsx").Activate
Sheets("kons3").Select
Columns("I:I").Select
ActiveSheet.Paste
ActiveWindow.View = xlNormalView |
Изменено: - 12.04.2016 16:38:26