Задачка куда шире, не стал засорять название темы.
Итак, дано:
1. ИТОГ.xls - книга, в которую собираются итоговые данные
2. Шаблон.xlsm - книга, в которой мой макрос обрабатывает данные
2.1. макрос "Обработка" - сидит в книге Шаблон.xlsm, я его сам собрал, но не хватает примочек, которые я далее назову «Макрос-Автомат»
3. Книга*.xls - книга с данными для копирования
Нужен макрос, условно назовем Макрос-Автомат (долго думал как назвать, устал, оставим так)
Книга ИТОГ.xls открыта.
Книга Шаблон.xlsm открыта.
Есть программа, из которой я выгружаю необходимую информацию. Использовал программу, открылась Книга*.xls (нумеруется каждый раз случайным номером, но название начинается с «Книга…»). Книга*.xls открывается фоново.
ЭТАП ПЕРВЫЙ
Если это возможно, то предпочтительно:
Макрос-Автомат видит, что новая книга начинается со слова «Книга». Он проверяет первую строчку, в ней есть пять значений, которые всегда одинаково называются. Хоть сегодня, хоть завтра, хоть через год; хоть это Книга1, хоть Книга23, хоть Книга51, А1 всегда будет «Постоянное значение 1», В1 всегда будет «Постоянное значение 2» и т.д.
Макрос-Автомат поняв, что это нужная нам книга, сам активируется копирует информацию из Книга*.xls начиная со второй строчки и до конца (количество строк всегда разное, а между строчками периодически встречаются пустые; столбцов всегда 5; количество строк, скорее всего, не превышает 100 000).Если активацию Макроса-Автомата по описанному выше сценарию прописать сложно, то пусть он активируется из любой книги по сочетанию горячих клавиш Ctrl+W.
ЭТАП ВТОРОЙ
Скопированные данные из Книга*.xls вставляются в «Лист Исходные данные» книги Шаблон.xlsm, начиная со второй строки
Тут Макрос-Автомат активирует макрос Обработка (который я сам собрал и который сидит в Шаблон.xlsm). Если нельзя активировать один макрос посреди выполнения другого, то я в код Макрос-Автомат самостоятельно вставлю свой. Таким образом, в книге Шаблон.xlsm исходные данные, скопированные из Книга*.xls, обрабатываются и переводятся в необходимый мне формат. Результат выводится в листе «Лист Результат» книги Шаблон.xlsm в ячейках A1-E1
Далее снова работает Макрос-Автомат. Он копирует эти ячейки (A1-E1 из «Лист Результат» книги Шаблон.xlsm).
ЭТАП ТРЕТИЙ
Макрос-Автомат переходит в книгу ИТОГ.xls. В этой книге активирована ячейка (каждый раз разная). Нужно, чтобы он пропустил вправо три ячейки и вставил скопированный результат из Шаблон.xlsm в четвертую ячейку.
ЭТАП ЧЕТВЕРТЫЙ
Макрос-Автомат закрывает книгу Книга*.xls без сохранения. В книге Шаблон.xlsm Макрос-Автомат активирует шаблон стирания определенных данных в определенных диапазонах (либо я сам его впишу в код Макроса-Автомата). Снова переходит в книгу ИТОГ.xls.
КОНЕЦ
P.S.:
Если активировать Макрос-Автомат через сочетание клавиш Ctrl+W, то в ЭТАПЕ ПЕРВОМ в книге КНИГА*.xls копировать диапазон можно вместе с первой строчкой и вставлять, соответственно, на ЭТАПЕ ВТОРОМ в «Лист Исходные данные» книги Шаблон.xlsm с первой строчки также.
Пытался объяснить понятно, получилось вот так вот. Готов к вопросам и предложениям. Особенно рад предложениям по оптимизации, важна каждая секунда рабочего времени. Представления о том, сколько это должно стоить, не имею, поэтому надеюсь на вашу честность.
Спасибо