是否有任何VBA函数将更改的值仅从一列复制到另一列?

时间:2019-05-06 15:32:50

标签: excel vba worksheet-function auto-update

我在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

0 个答案:

没有答案