我有一個工作表,它記錄了對單元格所做的更改。它去如下顯示單元格的舊值和新值
Public OldVal As String
Public NewVal As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
OldVal = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LDate As String
If Target.Cells.Count > 1 Then Exit Sub
NewVal = Target.Value
Sheets("corrections").Cells(Rows.Count, "A").End(xlUp)(2).Value = Now & "_Sheet " & ActiveSheet.Name & " Cell " & Target.Address(0, 0) & " was changed from '" & OldVal & "' to '" & NewVal & "'"
OldVal = ""
NewVal = ""
End Sub
遇到的問題IM是,由於某種原因,它永遠不會顯示以前的值。它只會在Sheet FA Cell B5從「'變爲'12'時輸出它,即使例如說10是在單元格中。
我也很想知道是否有一種方法,你可以擁有它,以便這段代碼不會一直運行。編號喜歡有一個你點擊的按鈕,在這一點上它會啓動並開始記錄更改。
感謝
如果使用XL2007 +然後'Target.Cells.Count'可以給你錯誤。改爲使用'Target.Cells.CountLarge'。 –