Страницы: 1
RSS
Формирование одного документа из множества исходных файлов с помощью макроса
 
Здравствуйте. Есть большое количество выведенных из 1с excel файлов. Необходимо из множества однотипных исходников перекинуть информацию в общий файл. Но в макросе исходный файл записан как Windows("Исходник №1.xlsx").Activate и при открытии следующего исходного файла макрос не работает, потому как там прописан исходник №1. Чем в макросе можно заменить Windows("Исходник №1.xlsx").Activate на документ, который активен в данный момент.
Изменено: Cardinalmiranda - 29.11.2018 18:10:10
 
Цитата
Cardinalmiranda написал:
Чем в макросе можно заменить Windows("Исходник №1.xlsx").Activate на документ, который активен в данный момент
тот, который активный в данный момент от Windows("Х/З").Activate более активным не станет, активный - он и есть активный и в дополнительной активации не нуждается
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Cardinalmiranda написал: документ, который активен в данный момент.
Код
ActiveWorkbook

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Ігор Гончаренко написал:... в дополнительной активации не нуждается
Я не правильно выразился. Как мне модернизировать данный макрос, чтобы он работал в документе который я открыл следующим? Чтобы я мог его применять к другому файлу
 
Где-то в начале кода присвойте переменной ссылку на активную книгу:
Код
set wb=activeworkbook

и далее всюду вместо Windows("Исходник №1.xlsx") пишите wb
Ну и ещё конечно полезно в самом начале объявить
Код
Dim wb As Workbook
или
Dim wb as Object

но это уже следующий этап познания :)
Ну и далее ликвидируются все селекты и активации, код становится раз в 5 короче и читабельнее. И на столько же быстрее работающий, хотя на таких объёмах это роли не играет.
Изменено: Hugo - 29.11.2018 22:00:39
Страницы: 1
Наверх