在 Excel 中记录跟踪的修订

在 Excel 中记录跟踪的修订

我有一系列电子表格,用于计算不同学科领域的绩效增长百分比。

有没有一种方法可以记录和跟踪数据的变化,新的数据会覆盖以前的数据,并且我希望所有的数据变化都记录在不同的表上,以便这些变化可用于自动更新跟踪图表。

我想要跟踪和记录变化的数据位于单元格 D16 -P16 中。

D33 至 P33

D52至P52

我在这个论坛的其他地方找到了一个 VBA 代码,听起来应该可以工作,但它是针对列中的数据而不是行中的数据,作为这方面的新手,我真的不知道如何调整它:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Integer
    Dim c As Integer
    Dim arr(1 To 1, 1 To 12)
    If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
        r = Target.Row
        For c = 1 To 12
            arr(1, c) = Cells(r, c).Value
        Next
        With shtLog
            .Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
        End With
    End If
End Sub

答案1

您可以尝试此 VBA 代码,它将有助于记录特定工作表中的更改。

Dim PreviousValue

Private Sub Worksheet_Change(ByVal Target As Range)

  If Not Intersect(Target, Range("A:A , C:C")) Is Nothing Then

    Sheets("ChangeLog").Cells(65000, 1).End(xlUp).Offset(1, 0).Value = _
      Application.UserName & " Chang in cell " & Target.Address _
       & " From " & PreviousValue & " To " & Target.Value
End If

End Sub

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

注意:根据您的需要更改列名称。

我确实希望这对你有帮助。

相关内容