Существует ли функция VBA для копирования только измененных значений из одного столбца в другой? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть таблица в Excel, которая связана с другим источником данных, и она автоматически обновляется. Я ищу код для захвата старых значений (только из измененных ячеек) из столбца C и размещения их в столбце D.

Я пробовал этот код, но, очевидно, он захватывает только одно значение за раз, и он не захватывает автоматически обновляемые значения.

Dim oval

Worksheet_SelectionChange

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
oval = Target.Value
End Sub

Worksheet_Change

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo SkipError
Application.EnableEvents = False

If Not Intersect(Target, Me.ListObjects("Table1").ListColumns(3).DataBodyRange) Is Nothing Then

 If Target.Value <> oval Then

    Cells(Target.Row, "D").Value = oval
    End If
End If
SkipError:
Application.EnableEvents = True

End Sub

Я ожидаю, что столбец D будет иметь старые значения столбца C, когда он будет обновляться.

ScreenShot-Table

...