Я здесь совсем новичок, интересуюсь макросами всего несколько дней, пока как в тёмном лесу, поэтому прошу не судить строго. Прежде чем создавать тему воспользовался поиском - помогло лишь частично. Когда понял что сам не справлюсь - решил написать Вам, многоуважаемые гуру ёкселя и VBA
Итак, начну: Исходные данные следующие: Файл в excel 2003 имеет около 10 листов. На первом своеобразная анкета, в которой заполняются данные ФИО, адрес и т.д. На остальных листах различные варианты (шаблоны) договоров, в которые подставляются данные из анкеты. После того как все данные в анкету внесены, необходимо распечатать на принтере один или несколько других листов(договоров) (по 3-5 страниц каждый), и обязательно сохранить каждый распечатанный документ в определённой папке (у каждого документа папка своя - сетевая), под определённый именем. Также в анкете есть ячейки с гиперссылками на каждый лист.
Задача: На листе "Анкета", напротив каждой гиперссылки, например, в соседней ячейке, создать кнопочку, клик на которую активирует макрос, который выполняет следующие действия:
1. Переходит на указанный лист, распечатывает его на текущем принтере (фактически Ctrl+P / Enter)
2. Сохраняет сей лист в формате htm в определённую сетевую папку (у каждого листа/договора своя папка) под определённым именем. Тут стоит остановиться подробней, ибо существует сложившаяся практика сохранять все документы в архивную папку под определённым именем (пример: "789-ЗК_Иванов_Liberty") состоящим из трёх частей - номер договора (789-ЗК), фамилия заказчика (Иванов), наименование товара (Liberty). Все три части присутствуют в различных ячейках листа Анкета, можно использовать оператор СЦЕПИТЬ, разделение частей нижним подчёркиванием. Если файл с таким именем уже существует, его нужно переписать (заменить) на новый. Кстати сохранять именно в htm вовсе необязательно, можно и лист xls отдельно сохранять, главное чтобы в нём отражались не формулы и ссылки, а значения.
3. Переходит обратно на лист Анкета.
Меня хватило пока только на то чтобы создать кнопочку, макрорекордером записать макрос который переходит на нужный лист, распечатывает его, и возвращается обратно на лист Анкета. На большее, к сожалению, знаний не хватает. Буду благодарен за любую помощь, однако в идеале хочется получить не готовый продукт(хотя и это тоже), а понимание как его создать, ибо есть сильное желание научится делать такие вещи самому. Огромное спасибо заранее, надеюсь, что прошу не слишком многого)
PS: Файл прикреплять не стал, ибо весит он гораздо больше указанного ограничения в 100 Kb
Доброго времени суток всем!
Я здесь совсем новичок, интересуюсь макросами всего несколько дней, пока как в тёмном лесу, поэтому прошу не судить строго. Прежде чем создавать тему воспользовался поиском - помогло лишь частично. Когда понял что сам не справлюсь - решил написать Вам, многоуважаемые гуру ёкселя и VBA
Итак, начну: Исходные данные следующие: Файл в excel 2003 имеет около 10 листов. На первом своеобразная анкета, в которой заполняются данные ФИО, адрес и т.д. На остальных листах различные варианты (шаблоны) договоров, в которые подставляются данные из анкеты. После того как все данные в анкету внесены, необходимо распечатать на принтере один или несколько других листов(договоров) (по 3-5 страниц каждый), и обязательно сохранить каждый распечатанный документ в определённой папке (у каждого документа папка своя - сетевая), под определённый именем. Также в анкете есть ячейки с гиперссылками на каждый лист.
Задача: На листе "Анкета", напротив каждой гиперссылки, например, в соседней ячейке, создать кнопочку, клик на которую активирует макрос, который выполняет следующие действия:
1. Переходит на указанный лист, распечатывает его на текущем принтере (фактически Ctrl+P / Enter)
2. Сохраняет сей лист в формате htm в определённую сетевую папку (у каждого листа/договора своя папка) под определённым именем. Тут стоит остановиться подробней, ибо существует сложившаяся практика сохранять все документы в архивную папку под определённым именем (пример: "789-ЗК_Иванов_Liberty") состоящим из трёх частей - номер договора (789-ЗК), фамилия заказчика (Иванов), наименование товара (Liberty). Все три части присутствуют в различных ячейках листа Анкета, можно использовать оператор СЦЕПИТЬ, разделение частей нижним подчёркиванием. Если файл с таким именем уже существует, его нужно переписать (заменить) на новый. Кстати сохранять именно в htm вовсе необязательно, можно и лист xls отдельно сохранять, главное чтобы в нём отражались не формулы и ссылки, а значения.
3. Переходит обратно на лист Анкета.
Меня хватило пока только на то чтобы создать кнопочку, макрорекордером записать макрос который переходит на нужный лист, распечатывает его, и возвращается обратно на лист Анкета. На большее, к сожалению, знаний не хватает. Буду благодарен за любую помощь, однако в идеале хочется получить не готовый продукт(хотя и это тоже), а понимание как его создать, ибо есть сильное желание научится делать такие вещи самому. Огромное спасибо заранее, надеюсь, что прошу не слишком многого)
PS: Файл прикреплять не стал, ибо весит он гораздо больше указанного ограничения в 100 Kbfuther