Работа в VBA с двумя книгами Excel
Добавлено: 15 ноя 2013, 15:51
Здравствуйте. Кто может подсказать где можно найти информацию по работе с двумя книгами одновременно? В частности различные способы переноса необходимой информации с одной книги в другую средствами VBA.
У меня такая ситуация. Имеется две книги:
1) Одна называется "Журнал работ". В первом листе вносятся данные о работе сотрудников за каждый день(Дата, ФИО сотрудника, номер работы и т.д)([ATTACH]1812[/ATTACH] ). Во втором листе "Отчет" формируется сводная таблица по фамилии сотрудника и по номеру работы ( [ATTACH]1814[/ATTACH]).
2) Во второй книге "По зарплате" так же хранится та же таблица что и на листе "Отчет", только с дополнительными строками, столбцами и вычислениями. На нем произносится расчет по зарплате на основе этой таблицы.
[ATTACH]1813[/ATTACH]
Мне необходимо создать в книге "По зарплате" процедуру, которая сформирует отчет в книге "Журнал работ" по определенному месяцу и перенесет данные в книгу "По зарплате"
Пытался это реализовать с помощью массива, но не получилось перенести сформированный массив обратно в книгу "По зарплате".
Так же пробовал с банальным копированием диапазона(Range) из одной книги в другую, но в связи с тем что структура отчетов по каким либо причинам могут меняться, мне данный метод не подошел, т.к при копировании нужные данные могут затираться
Дошел до варианта подстановки листов с разных книг в процедуре листа "Отчет"(книга Журнал работ), но с этим возникла сложность. Не знаю как вместо названия листа (допустим "Sheets("Отчет")") использовать переменную, в которую при необходимости будет присваиваться нужный лист
У меня такая ситуация. Имеется две книги:
1) Одна называется "Журнал работ". В первом листе вносятся данные о работе сотрудников за каждый день(Дата, ФИО сотрудника, номер работы и т.д)([ATTACH]1812[/ATTACH] ). Во втором листе "Отчет" формируется сводная таблица по фамилии сотрудника и по номеру работы ( [ATTACH]1814[/ATTACH]).
2) Во второй книге "По зарплате" так же хранится та же таблица что и на листе "Отчет", только с дополнительными строками, столбцами и вычислениями. На нем произносится расчет по зарплате на основе этой таблицы.
[ATTACH]1813[/ATTACH]
Мне необходимо создать в книге "По зарплате" процедуру, которая сформирует отчет в книге "Журнал работ" по определенному месяцу и перенесет данные в книгу "По зарплате"
Пытался это реализовать с помощью массива, но не получилось перенести сформированный массив обратно в книгу "По зарплате".
Так же пробовал с банальным копированием диапазона(Range) из одной книги в другую, но в связи с тем что структура отчетов по каким либо причинам могут меняться, мне данный метод не подошел, т.к при копировании нужные данные могут затираться
Дошел до варианта подстановки листов с разных книг в процедуре листа "Отчет"(книга Журнал работ), но с этим возникла сложность. Не знаю как вместо названия листа (допустим "Sheets("Отчет")") использовать переменную, в которую при необходимости будет присваиваться нужный лист