使用excel VBA捕获从一个单元格到另一个单元格的所有更改数据

使用excel VBA捕获从一个单元格到另一个单元格的所有更改数据,vba,excel,excel-formula,excel-2010,Vba,Excel,Excel Formula,Excel 2010,我的工作簿的sheet1 A1单元格不断使用新数据更新,我的需求将被捕获所有更改并将其保存到sheet2 B列。新数据将添加到一个新行,如B1、B2、B3等 使用下面的代码,我能够实现它使用工作表改变功能 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Range("A1").Address Then Dim intLastRow As Long intLastRow

我的工作簿的sheet1 A1单元格不断使用新数据更新,我的需求将被捕获所有更改并将其保存到sheet2 B列。新数据将添加到一个新行,如B1、B2、B3等 使用下面的代码,我能够实现它使用工作表改变功能

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = Range("A1").Address Then
        Dim intLastRow As Long
        intLastRow = Sheet2.Cells(Sheet2.Rows.Count, "B").End(xlUp).Row
        Sheet2.Cells(intLastRow + 1, "B") = Target.Value

    End If

End Sub

如果我手动将数据输入到原始单元格表1 A1中,此代码将非常有效。但是如果我使用任何公式,比如说=C2,它就不起作用了。任何使用公式更新的数据都不会被记录在工作表2 B上。我想知道是否还有其他方法可以记录使用公式更新的值

使用工作表\u计算事件如果我想将数据保存在其他工作簿上,我可以使用下面的方法吗。我正在目标excel中添加此代码。如果.Value WorkbooksBook1.xlsx.worksheetsheets1.RangeA1.Value,那么.Offset1.Value=WorkbooksBook1.xlsx.worksheetsheets1.RangeA1.Value结束,如果您不试试看,就知道了?我已经试过了,但没有拉取数据。查找语法
Private Sub Worksheet_Calculate()

With Sheet2
    With .Cells(.Rows.Count, "B").End(xlUp)
        If .Value <> Sheet1.Range("A1").Value Then
            .Offset(1).Value = Sheet1.Range("A1").Value
        End If
    End With
End With

End Sub