Может, достаточно будет просто видимости добавления с помощью Условного форматирования? Файл _1
Или вот такой макрос Файл _3
[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim d_ As Range
Set d0_ = Intersect(Target, Columns(1))
If Not d0_ Is Nothing Then
t_ = "-PKG"
Application.ScreenUpdating = 0
Application.Calculation = 3
Application.EnableEvents = 0
For Each d_ In d0_
With d_.Offset(, 9)
If Right(.Value, Len(t_)) = t_ Then
If .Offset(, -9).Value = 0 Then
.Value = Left(.Value, Len(.Value) - Len(t_))
End If
ElseIf .Value <> Empty Then
If .Offset(, -9).Value = 1 Then
.Value = .Value & t_
End If
End If
End With
Next d_
Application.EnableEvents = 1
Application.Calculation = 1
Application.ScreenUpdating = 1
End If
End Sub
[/vba]