我的工作簿的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
如果我手动将数据输入到原始单元格(sheet1 A1),此代码可以正常工作。但如果我使用任何公式说“= C2”,它就不起作用了。任何使用公式更新的数据都没有在sheet2 B上被捕获。想知道我是否可以捕获使用公式更新的值
答案 0 :(得分:1)
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