使用Excel VBA将所有变化的数据从一个单元格捕获到另一个单元格

我的工作簿的Sheet1 A1单元格不断更新新的数据,我的需求被捕获所有的变化,并保存到sheet2“B”列(新的数据将被添加到一个新的行,如B1,B2,B3等)使用下面的代码I我能够使用工作表更改function来实现它

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 

如果我手动input数据到原始单元格(sheet1 A1),此代码完美工作。 但是,如果我使用任何公式说“= C2”,这是行不通的。 任何使用公式得到更新的数据都不会被捕获到sheet2上B.想知道是否还有我可以使用公式捕获更新的值

 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