SERGE_BLIZNUK
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: Private Sub Worksheet_Change(ByVal Target As Range) Dim iCell As Range ' анализируем только изменения в столбцах A затем E If Not Intersect(Target, [A:A]) Is Nothing Then Application.EnableEvents = False For Each iCell In Intersect(Target, [A:A]) If (Not IsEmpty(iCell)) And _ (TypeName(iCell.Value) = "String") And _ (Not IsEmpty(iCell.Offset(, 4))) And _ (TypeName(iCell.Offset(, 4).Value) = "String") _ And (iCell = "Привет") And (Left(iCell.Offset(, 4).Value, 2) = "ББ") Then iCell.Offset(, 14).Value = "УРА! ЗАРАБОТАЛО!" Else ' тут можно стирать УРА, если его нужно убирать... iCell.Offset(, 14).ClearContents End If Next Application.EnableEvents = True End If If Not Intersect(Target, [E:E]) Is Nothing Then Application.EnableEvents = False For Each iCell In Intersect(Target, [E:E]) If (Not IsEmpty(iCell)) And _ (TypeName(iCell.Value) = "String") And _ (Not IsEmpty(iCell.Offset(, -4))) And _ (TypeName(iCell.Offset(, -4).Value) = "String") _ And (iCell.Offset(, -4) = "Привет") And (Left(iCell, 2) = "ББ") Then iCell.Offset(, 10) = "УРА! ЗАРАБОТАЛО!" Else ' тут можно стирать УРА, если его нужно убирать... iCell.Offset(, 10).ClearContents End If Next Application.EnableEvents = True End If End Sub | |