Страницы: 1
RSS
Макрос печати двух листов
 
Добрый вечер формумчане. Помогите подправить макрос.  
Есть в книге два листа "Форма" и "Качество". На листе "Форма" кнопка запускает макрос печати этого листа т.е. "Форма". Помогите подправить код, чтоб можно было печатать не только лист "Форма", но и лист "Качество". Приблизительно догадываюсь что нужно что-то изменить в этих двух строчках  
 
avArr = ActiveSheet.UsedRange.Value  
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=2  
 
а вот что и как не знаю.  
Файл не выкладываю дабы не засорять форум, думаю и так все понятно, но если надо могу выложить.  
Спасибо!
 
Здравствуйте antal10,  
вопрос глупый, н оесли у Вас возникает такая проблема не проще ли разместить или дублировать данные с листа "Качество" на листе "Форма" и в макросе соответственно прописать дополнительный диапазон.  
У мну есть макрос который печатает 2 листа формата а3 на листе а4 из базы данных. Печать происходит по порядку, т.е. на одном листе напечатаются данные с ячеек А1 и А2, на втором листе напечатаются данные с ячеек А3 и А4.  
P.S. Совет: лучше выкладывать файл для примера чтобы было яснее.
 
Sub ppp()  
Me.PrintOut From:=1, To:=1, Copies:=2 'Sheets("Форма")  
Sheets("Качество").PrintOut From:=1, To:=1, Copies:=2  
End Sub  
Если в настройках печати заранее установите с какой по какую страницу печатать, то "From:=1, To:=1," из макроса можно убрать.
 
В общем случае можно так:  
 
Sub Test()  
   Sheets(Array("Форма", "Качество")).PrintOut Copies:=1  
End Sub
Редко но метко ...
 
to notrussian:  
не проще, все должно быть на своих листах дабы не вводить в заблуждение юзера  
 
to k61:  
ваш код сам по себе работает, но у меня макрос печати есть и нужно не отдельный макрос, а изменить тот что у меня, точнее те строки что у меня, как ваш код приспособить к тому макросу что у меня?  
 
to GIG_ant:  
ваш код тоже работает, но также идет как отдельный макрос. Как приспособить его к уже имеющемуся я не знаю.  
И еще, судя по коду у k61 что-то более приемлимое, так как в его коде можно выставить разное количество копий для каждого из листов. Т.е. скажем для формы 2, а для качество - 1. А у вас помоему только одинаковое количество для всех.  
 
В общем выкладываю файл может так действительно лучше.
 
замените эту строку:  
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=2  
на эти две:  
Sheets("Форма").PrintOut From:=1, To:=1, Copies:=2  
Sheets("Качество").PrintOut From:=1, To:=1, Copies:=2
 
Спасибо работает.
 
Пользуюсь такой макрой записана рекордером. Можно выбрать любое число сушествующих листов. Принтер по умолчанию. Переносил с к. на другой к., запуск с кнопки(объекта)  
А вот как не печатать в этом макросе один из листов если в к-н. ячейке "Main" появляется условие на запрет печати в "RefundRequest"  
Заранее спасибо  
Sub PRINTING()  
'  
' PRINTING Macro  
' printing 3 sheets  named "Main", "PayRequest", "RefundRequest"  
 
   Sheets(Array("Main", "PayRequest", "RefundRequest")).Select  
   Sheets("Main").Activate  
   ActiveWindow.SmallScroll Down:=-18  
   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True  
 
End Sub
 
как не печатать в этом макросе один из листов если в к-н. ячейке "Main" ,например в Н43, появляется условие (равенство нулю)на запрет печати одного "RefundRequest". а появление нуля в Н42 должно запретить печатать всё тетради.  
Заранее спасибо  
Sub PRINTING()  
'  
' PRINTING Macro  
' printing 3 sheets  named "Main", "PayRequest", "RefundRequest"  
 
   Sheets(Array("Main", "PayRequest", "RefundRequest")).Select  
   Sheets("Main").Activate  
   ActiveWindow.SmallScroll Down:=-18  
   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True  
 
End Sub
Страницы: 1
Наверх