Доброго времени суток ,уважаемые форумчане, всех с прошедшим праздником. Ситуация такая: требуется распечатать 2 бланка на 1 листе. делаю я это самым простым способом: копирую строки, вставляю, далее печать листа и удаление вставленных строк. Код
Все в принципе ОК, но по какой-то причине, после распечатки листа (с 2 копиями) Excel выдает команду на печать еще раз и на печать выходит лист с изначальными данными, т.е. с 1 копией. И флаг пытался применять, и отслеживание событий отключал - ничего не помогает . Четко видно при пошаговой проверке, что выполнение доходит до End Sub и далее (без каких то ошибок или чего иного) вновь идет команда на печать. Почему так происходит и как это победить?
Заранее спасибо всем откликнувшимся.
Код |
---|
Private Sub Workbook_BeforePrint(Cancel As Boolean) 'предпечатная подготовка листа "Формы" ' Dim b As Boolean With ActiveSheet ' If b = False Then If .Name = "Форма" Then 'обязательно условие: указание имени листа, иначе VBA пытается выполнить код на др. листах Application.EnableEvents = False .Rows("1:30").Copy .Range("A33") .Rows("31:32").RowHeight = 6.75 .Range("A31:G31").Borders(xlEdgeBottom).LineStyle = xlDashDot .Range("$A$1:$G$62").PrintOut Copies:=1 .Rows("31:62").Delete ' b = True Application.EnableEvents = True ' End If End If End With End Sub |
Заранее спасибо всем откликнувшимся.