Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: lovko от 21.01.2016, 18:31

Название: Макрос печати листа, имя которого указано в ячейке
Отправлено: lovko от 21.01.2016, 18:31
Здравствуйте, подскажите, пожалуйста, почему
Worksheets(Workbooks("Требование.xlsx").Sheets("Печать").[D11]).PrintOut From:=1, To:=1, Copies:=1
не печатается.

В Workbooks("Требование.xlsx").Sheets("Печать").[D11] указано название листа, который нужно распечатать.
Спасибо!
Название: Re: Макрос печати листа, имя которого указано в ячейке
Отправлено: vikttur от 21.01.2016, 20:52
...Cells(11,4).Value).PrintOut From:=1, To:=1, Copies:=1

Зачем такой длинный путь? ячейка в другой книге?
Название: Re: Макрос печати листа, имя которого указано в ячейке
Отправлено: lovko от 22.01.2016, 10:09
Ячейка в этой же книге, что и листы для печати. А макрос - в общей книге макросов.
Название: Re: Макрос печати листа, имя которого указано в ячейке
Отправлено: lovko от 22.01.2016, 11:02
Вот, что получилось в итоге (название листа с ячейкой все-таки не "Сервис", а "Формулы6.0")
Workbooks("Требование.xlsx").Worksheets(Workbooks("Требование.xlsx").Sheets("Формулы6.0").Cells(11, 5).Value).PrintOut From:=1, To:=1, Copies:=1
Но теперь возникает странная ситуация:
начинается печать, но она тут же прерывается, так как на экран выводится окно "Сохранить как".
Почему так происходит?
Название: Re: Макрос печати листа, имя которого указано в ячейке
Отправлено: lovko от 22.01.2016, 13:43
Разобрался. Вот что получилось:
[/Workbooks("Требование.xlsx").Activate
Worksheets(Cells(11, 5).Value).PrintOut From:=1, To:=1, Copies:=1

А окно сохранения документа возникало из-за того, что к ноутбуку не подключен принтер.
Название: Re: Макрос печати листа, имя которого указано в ячейке
Отправлено: lovko от 22.01.2016, 13:44
Модераторов прошу меня извинить: никак не научусь правильно оформлять код в отдельном окне.