Сводная таблица тоже не обновляется сама - надо не забывать обновлять. Или макрос делать, который по событию ее будет обновлять.
1. Вариант с формулами. Подойдет, если известно заранее число строк, которое в данных точно не будет превышено. В столбец E в примере вводится формула (например, в E6):
Код |
---|
=ЕСЛИ(ЕПУСТО(B6);"";B6) |
и тиражируется на максимальное количество строк.
2. Вариант с макросом в модуль листа:
Если за один раз будет изменяться не более одной ячейки, то такой код в модуль листа:
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then Cells(Target.Row, 5).Value = Target.Value
End Sub |
Если же предусматривать копирование и пр. массовые операции с ячейками, то код сложнее:
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cC As Range
Application.EnableEvents = False
If Not (Intersect(Columns(2), Target) Is Nothing) Then
For Each cC In Intersect(Columns(2), Target).Cells
If cC.Column = 2 Then Cells(cC.Row, 5).Value = cC.Value
Next cC
End If
Application.EnableEvents = True
End Sub |