Страница 1 из 1

Excel. Печать данных с нескольких листов

Добавлено: 25 ноя 2008, 09:18
Avsha
Приветствую!

Есть 3 листа: List1, List2, List3.

На каждом из листов есть диапазон с данными A1:C20.
Необходимо распечатать на принтере последовательно эти диапазоны с List1, List2, List3 одним последовательным списком с сохранением форматов, оформления и т.д. каждого из диапазонов листов.

Операцию печати придется повторять неоднократно при изменении данных на листах,
и поэтому хотелось бы автоматизировать.

Как это можно сделать?

Re: Excel. Печать данных с нескольких листов

Добавлено: 25 ноя 2008, 10:17
EducatedFool
На ум приходит только один вариант.

Макросом создаём новый лист, копируем на него последовательно нужные диапазоны (вместе с форматированием, разумеется), если надо, ещё как-нибудь обрабатываем данные, отправляем этот лист на печать, удаляем лист.

Всего несколько строк кода... в чём сложность?

Код: Выделить всё

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

Re: Excel. Печать данных с нескольких листов

Добавлено: 27 ноя 2008, 14:57
Avsha
EducatedFool,
спасибо, вроде этого кода и буду сочинять