Приветствую!
Есть 3 листа: List1, List2, List3.
На каждом из листов есть диапазон с данными A1:C20.
Необходимо распечатать на принтере последовательно эти диапазоны с List1, List2, List3 одним последовательным списком с сохранением форматов, оформления и т.д. каждого из диапазонов листов.
Операцию печати придется повторять неоднократно при изменении данных на листах,
и поэтому хотелось бы автоматизировать.
Как это можно сделать?
Excel. Печать данных с нескольких листов
Модератор: Naeel Maqsudov
- EducatedFool
- Сообщения: 197
- Зарегистрирован: 06 апр 2008, 14:03
- Откуда: Россия, Урал
- Контактная информация:
На ум приходит только один вариант.
Макросом создаём новый лист, копируем на него последовательно нужные диапазоны (вместе с форматированием, разумеется), если надо, ещё как-нибудь обрабатываем данные, отправляем этот лист на печать, удаляем лист.
Всего несколько строк кода... в чём сложность?
Макросом создаём новый лист, копируем на него последовательно нужные диапазоны (вместе с форматированием, разумеется), если надо, ещё как-нибудь обрабатываем данные, отправляем этот лист на печать, удаляем лист.
Всего несколько строк кода... в чём сложность?
Код: Выделить всё
Sub Main()
Application.ScreenUpdating = False: Application.DisplayAlerts = False
With ThisWorkbook.Worksheets.Add
For i = 1 To 3: ThisWorkbook.Worksheets("Лист" & i).Range("a1:c20").Copy .Cells(20 * (i - 1) + 1, 1): Next
.PrintOut: .Delete
End With
Application.ScreenUpdating = True: Application.DisplayAlerts = True
End Sub
EducatedFool,
спасибо, вроде этого кода и буду сочинять
спасибо, вроде этого кода и буду сочинять