Представьте себе, вы внесли данных в 150 строках или более, проставили + в колонке A жмёте кнопку ЖМИ СЮДА для Печати Заключения и у вас начинает экран мелькать 150 раз... Думаю вас самого заглючит после 20-го раза мелькания экрана.
Да, кстатит, в модуле листа Лист1 код процелуры события листа можно сократить убрав за ненадобностью два блока With из кода. Новая процедура будет такой:[vba]
Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Or Target.Cells.Count > 1 Then Exit Sub
Dim lastRow As Long lastRow = Me.Cells(Me.Rows.Count, "B").End(xlUp).Row If Target.Row <> lastRow Then Exit Sub
Application.ScreenUpdating = False Application.EnableEvents = False On Error GoTo CleanExit
Представьте себе, вы внесли данных в 150 строках или более, проставили + в колонке A жмёте кнопку ЖМИ СЮДА для Печати Заключения и у вас начинает экран мелькать 150 раз... Думаю вас самого заглючит после 20-го раза мелькания экрана.
Да, кстатит, в модуле листа Лист1 код процелуры события листа можно сократить убрав за ненадобностью два блока With из кода. Новая процедура будет такой:[vba]
Код
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Or Target.Cells.Count > 1 Then Exit Sub
Dim lastRow As Long lastRow = Me.Cells(Me.Rows.Count, "B").End(xlUp).Row If Target.Row <> lastRow Then Exit Sub
Application.ScreenUpdating = False Application.EnableEvents = False On Error GoTo CleanExit