如何在Excel VBA中获取已更改单元格的旧值?

如何在Excel VBA中获取已更改单元格的旧值?

我正在检测Excel电子表格中某些单元格值的变化,如下所示......


Private Sub Worksheet_Change(ByVal Target As Range)

Dim cell As Range

Dim old_value As String

Dim new_value As String


For Each cell In Target


    If Not (Intersect(cell, Range("cell_of_interest")) Is Nothing) Then

        new_value = cell.Value

        old_value = ' what here?

        Call DoFoo (old_value, new_value)

    End If


Next cell


End Sub

假设这不是一种编码方式,那么在更改之前如何获取单元格的值?


30秒到达战场
浏览 2201回答 3
3回答

精慕HU

试试这个声明一个变量说Dim oval并在SelectionChange事件中Public Sub Worksheet_SelectionChange(ByVal Target As Range)oval = Target.ValueEnd Sub并在您的 Worksheet_Change活动集中old_value = oval
打开App,查看更多内容
随时随地看视频慕课网APP