Страницы: 1
RSS
Макрос для печати выбранных таблиц.
 
Добрый день!

Подскажите, можно ли сделать макрос, чтобы при выборе определенных галок и нажатии кнопки "Печать" печатались только определенные таблицы на листе? И чтобы на бумаге таблица печаталась именно в том месте, где она находится в файле.
 
Если нужно оставить всё на своих местах, но на бумаге отобразить только выборочно, я поступаю следующим образом: делаю белый шрифт там, где печатать не нужно.
 
Юрий М,Дело в том, что рамка все равно будет печататься, если сделать белый шрифт. Сейчас я просто подставляю белый прямоугольник поверх таблиц.
Изменено: pavel105 - 23.04.2017 12:50:59
 
Рамку (границы) тоже можно перед печатью удалять.
 
Я бы копировал лист в нов. книгу, очищал все ненужные таблицы от содержимого и рамки убирал, на печать лист, книгу закрыть и не сохранять.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Код
Sub qq()
    Sheets(1).Copy after:=Sheets(Sheets.Count)
    Set r = Union(Range("D2:X75"), Range("AB40:AV75"))
    r.Clear
    ActiveSheet.PrintOut
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
End Sub
 
Спасибо RAN,  добавил ваш макрос. Теперь при нажатии кнопок qq1, qq2, qq3 или qq4  печатается соответствующая таблица. Как теперь можно увязать печать с  галками? Чтобы при выборе галок печатались соответствующие таблицы.
 
Код
Sub printSh()
    Sheets(1).Copy after:=Sheets(Sheets.Count)
    If Not Range("BO7") Then Range("D2:X37").Clear
    If Not Range("BQ7") Then Range("AB2:AV37").Clear
    If Not Range("BO9") Then Range("D40:X75").Clear
    If Not Range("BQ9") Then Range("AB40:AV75").Clear
    Range("A1:BS75").PrintOut
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True
End Sub


PS удовлетворите любопытство плз, зачем печатать так?
Код
    ExecuteExcel4Macro _
    "PRINT(2,1,1,1,,,,,,,,2,""HP LaserJet M1120n MFP (Ne02:)"",,TRUE,,FALSE)"
Изменено: RAN - 23.04.2017 18:11:09 (Файлик мыши съели, однако...)
 
RAN!!! Получилось и все работает, спасибо вам больше! Даже на стуле подпрыгнул от радости) Мне казалось это сложная и нерешаемая задача.

По вашему вопросу - я запустил рекордер, чтобы записать печать на конкретном принтере + печатать страницы с 1 по 1. Он мне так записал)
 
Это в каком Excel рекордер так пишет?
 
2007
Страницы: 1
Наверх