Страницы: 1
RSS
Печать определенных страниц с заданным условием
 
Добрый день подскажите пожалуйста как создать макрос для печати всех страниц из одной книги. В книге 100 листов нужно напечатать с первого листа одну страницу, со второго листа две страницы и так 100 листов.
 
Для начала воспользоваться макрорекордером
 
Поднимите глаза. Над темой, первое предложение:  
"Прежде чем задать вопрос - попробуйте найти ответ поиском."  
 
Правее текста окошко поиска. Введите туда название Вашей темы...  
 
Если там не нашли подходящего, дочитайте текст над темой. Если текста мало, правила здесь:  
<EM>http://www.planetaexcel.ru/forum.php?thread_id=8735</EM>
 
Парни я все понимаю что у вас уже куча таких тем, но мне нужно не только печать страниц но и их последующая печать в файл и как все это объеденить в единый макрос(((
 
Интересно, что ТС имел ввиду под: "их последующая печать в файл"?  
Arkadiy, Вы не хотите ничего сделать для себя. Чего тогда ждете от нас?
Я сам - дурнее всякого примера! ...
 
Вы по ссылке смотрели? Читали, что нужен ВАШ ПРИМЕР?!  
 
Нашли макрос печати страниц, подходящий под Вашу задачу?  
Найдите еще макрос для "печати" в файл (это как?).  
Вставьте эти два макроса в свой пример. Покажите народу. Вам помогут.  
 
Пока что видно только желание "дайте мне готовое".
 
Я только совсем недавно начал читать и пытаться изучить приметивные макросы. До этого я полтора года печатал все 100 листов по отдельности, задавая каждый раз для каждого листа печать то 1 страницу то две. А оказывается, что можно все это оптимизировать и довести до автоматизации. Я просто прошу подсказать мне с чего в в принципе нужно начинать, для того чтобы реализовать мою задачу, пока я даже не знаю с чего начать((((
 
Подсказали, как найти макросы, подсказали, что нужен Ваш пример....  
Что еще подсказать?  
Представьте, что я не умею резать хлеб и пришел к Вам с вопросом. Что Вы мне посоветуете? Без ножа и буханки легко будет объяснить?
 
Я сейчас использовал вот такого типа макрос  
Sub MyPrint()  
Dim sh As Worksheet, s  
With ThisWorkbook  
For Each sh In .Worksheets  
If Not sh.[b2].Value = 0 Then s = s & sh.Name & ","
Next sh  
s = Split(Left(s, Len(s) - 1), ",")  
.Worksheets(s).PrintOut Copies:=1  
End With  
End Sub  
 
и задавая в ручную область печати для каждого листа. Могу ли я задать условием, что печатать только в листах отсек1 две страницы, а в листах отсек1 (2) 1 страницу.
 
вот пример моего файла
 
Восхищен!  
Код в одном месте, файл в другом, а что печатать надо - все равно не понятно.
 
В файле post_354534.xlsx есть книга Excel в ней 4 листа, задача вывести на печать в один файл содержимое 4х листов(с условием отсек1 две страницы, а в листах отсек1 (2) 1 страницу)
 
Страниц, или копий, продвинутый Вы наш?  
И что там делают строки:  
If Not sh.[b2].Value = 0 Then s = s & sh.Name & ","
и  
s = Split(Left(s, Len(s) - 1), ",")  
Если копий, то и вставьте в каждый лист в А1 нужное число копий. Тогда:  
sh.PrintOut Copies:=Sh.[a1].value
Короче:  
Sub MyPrint()  
Dim sh As Worksheet  
For Each sh In ThisWorkbook.Worksheets  
sh.PrintOut Copies:=Sh.[a1].value
Next sh  
End Sub
Я сам - дурнее всякого примера! ...
 
Именно страницы, я пока только до такого догадался, задал на каждом листе область печати, а потом через макрос и If Not sh.[b2].Value = 0 Then s = s & sh.Name & ","
если данная ячейка не пуста то печатать.
 
Однако... У Вас на всех листах в В2 - № точки. Мой МР выдал мне такое:  
ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)" - если печатать одну страницу и :  
ExecuteExcel4Macro "PRINT(2,1,2,1,,,,,,,,2,,,TRUE,,FALSE)" - если две. Дальше сами разберетесь?
Я сам - дурнее всякого примера! ...
Страницы: 1
Читают тему
Loading...