Здравствуйте, уважаемые, подскажите, пожалуйста, как можно сделать ч\б печать определенной области. У меня имеется таблица, в которой при выделении ячейки идет цветное подсвечивание, но оно выводится на печать, как можно эту область при печати сделать ч\б, а всё остальное цветное?
Имеется код, но он делает всё ч\б, а мне нужно чтобы только эту область B5:Q24
[vba]
Код
Application.PrintCommunication = False With ActiveSheet.PageSetup .BlackAndWhite = True End With Application.PrintCommunication = True
[/vba]
Здравствуйте, уважаемые, подскажите, пожалуйста, как можно сделать ч\б печать определенной области. У меня имеется таблица, в которой при выделении ячейки идет цветное подсвечивание, но оно выводится на печать, как можно эту область при печати сделать ч\б, а всё остальное цветное?
Имеется код, но он делает всё ч\б, а мне нужно чтобы только эту область B5:Q24
[vba]
Код
Application.PrintCommunication = False With ActiveSheet.PageSetup .BlackAndWhite = True End With Application.PrintCommunication = True
В этом макросе создается пустая книга и в нее копируется активный лист. С этой копией можете делать все что нужно. Макрос убирает заливку в диапазоне "B5:Q24" и затем печатает, после чего временная книга закрывается без сохранения.
[vba]
Код
Sub Печать() Dim shTemp As Worksheet
Application.ScreenUpdating = False ActiveSheet.Copy Set shTemp = ActiveSheet
В этом макросе создается пустая книга и в нее копируется активный лист. С этой копией можете делать все что нужно. Макрос убирает заливку в диапазоне "B5:Q24" и затем печатает, после чего временная книга закрывается без сохранения.
[vba]
Код
Sub Печать() Dim shTemp As Worksheet
Application.ScreenUpdating = False ActiveSheet.Copy Set shTemp = ActiveSheet
Karataev, да нет, вроде нормально всё, таблица сама по себе не цветная, но при нажатии в ней на любую ячейку подсвечиваются некоторые области. При срабатывании кода всё выделение убирается, а при повторном нажатии на любую ячейку опять идёт подсветка. А как можно вставить этот код в сам лист, то есть чтобы он эту таблицу и без помощи макроса ч\б печатал?
Такой код не понимает [vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean) Range("B5:Q24").Interior.ColorIndex = xlColorIndexNone End Sub
[/vba]
Karataev, да нет, вроде нормально всё, таблица сама по себе не цветная, но при нажатии в ней на любую ячейку подсвечиваются некоторые области. При срабатывании кода всё выделение убирается, а при повторном нажатии на любую ячейку опять идёт подсветка. А как можно вставить этот код в сам лист, то есть чтобы он эту таблицу и без помощи макроса ч\б печатал?
Такой код не понимает [vba]
Код
Private Sub Workbook_BeforePrint(Cancel As Boolean) Range("B5:Q24").Interior.ColorIndex = xlColorIndexNone End Sub
У меня работает Ваш код в этом файле. Предположу, что Вы вставили код в Личную книгу макросов, а не в тот файл, в котором должна убираться заливка.
У меня работает Ваш код в этом файле. Предположу, что Вы вставили код в Личную книгу макросов, а не в тот файл, в котором должна убираться заливка.Karataev
Karataev, видимо просто при предварительном просмотре - он показывает, а на самом деле на бумагу не выводит это выделение. В пн проверю, спасибо большое за потраченное время.
Karataev, видимо просто при предварительном просмотре - он показывает, а на самом деле на бумагу не выводит это выделение. В пн проверю, спасибо большое за потраченное время.Liana88
Событие "Workbook_BeforePrint" запускается только, когда происходит печать. Когда Вы отображаете предварительный просмотр, то событие "Workbook_BeforePrint" не запускается.
Событие "Workbook_BeforePrint" запускается только, когда происходит печать. Когда Вы отображаете предварительный просмотр, то событие "Workbook_BeforePrint" не запускается.Karataev