Страницы: 1
RSS
Копирование данных из Книга*.xls в Шаблон.xls с закрытием Книга*xls без сохранения
 

Задачка куда шире, не стал засорять название темы.

Итак, дано:

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 с первой строчки также.

Пытался объяснить понятно, получилось вот так вот. Готов к вопросам и предложениям. Особенно рад предложениям по оптимизации, важна каждая секунда рабочего времени. Представления о том, сколько это должно стоить, не имею, поэтому надеюсь на вашу честность.

Спасибо

Изменено: Excel-mexcel - 22.07.2018 18:39:50
 
Пишу в личку.
Страницы: 1
Наверх