написал: Lancet99 , Можно формулами выводить данные на лист со всех листов и после этого печатать!
Сделал подобно: На один лист вывел все данные в виде списка и через скрипт наставил разрывы страниц, чтобы шапка, тело и подпись отчёта не разносились по разным местам. Вот скрипт. На красоту написания не претендую - пишу на другом языке.
Код
Set MySheet = ActiveWorkbook.ActiveSheet
Count = 1
Do While Count <= 50
Set AreaBeg = MySheet.Cells.Find("AreaBeg" + CStr(Count))
If AreaBeg Is Nothing Then
Exit Do
End If
Set AreaEnd = MySheet.Cells.Find("AreaEnd" + CStr(Count))
TopRowArea = AreaBeg.Row
DownRowArea = AreaEnd.Row
i = TopRowArea
Do While i <= DownRowArea
If MySheet.Rows(i).PageBreak = -4105 Then
MySheet.Rows(TopRowArea).PageBreak = -4135
Exit Do
End If
i = i + 1
Loop
AreaBeg.Value = ""
AreaEnd.Value = ""
Count = Count + 1
Loop
Добрый день форумчане. Столкнулся с такой задачей от бизнеса: ERP система формирует отчёт в формате Excel. По некоторому логическому принципу разбивает отчёт на листы (т.е. например есть книга Excel с 5 листами). При печати всей книги каждый лист печатается на отдельном листе и получается такая картина: печатается лист А4, а на нём занято информацией всего 20%. Возникает резонное желание экономить бумагу и печатать два (или больше) листа книги excel на одном листе А4.
Подскажите, можно ли как-то сделать это стандартными настройками печати или книги? Не очень хочется погружаться в дебри VBA. Да и не особо представляю пока как кодить