作为此问题的后续措施,每当通过一系列单元格的公式更改某个单元格时,我都需要在相邻单元格中添加一个时间戳。
我知道这意味着要构建一个数组以将以前的值存储到下面的代码中(该代码可以实现相同的功能,但仅适用于单个单元格),并且希望对实现此功能有所帮助。
这是适用于单个单元格的代码...
在Sheet1单元格A1中,输入以下公式
=Sheet2!A1+1
现在在模块中粘贴此代码
Public PrevVal As Variant
将此粘贴到“工作表代码”区域
Private Sub Worksheet_Calculate()
If Range("A1").Value <> PrevVal Then
Range("B1").Value = Format(Now, "dd/mm/yyyy hh:mm:ss")
PrevVal = Range("A1").Value
End If
End Sub
最后在ThisWorkbook代码区域中粘贴此代码
Private Sub Workbook_Open()
PrevVal = Sheet1.Range("A1").Value
End Sub
您可以将以前的值保留在一个Dictionary
数组中,而不是数组中。要使用字典,您需要添加对Microsoft脚本运行时库的引用
(工具>参考> Microsoft脚本运行时库)
标准模块
Public PrevVal As Dictionary
ThisWorkbook模块
Private Sub Workbook_Open()
Dim r As Range
Set PrevVal = New Dictionary
For Each r In Worksheets("Sheet1").Range("A1:A10")
PrevVal.Add Item:=r.Value, Key:=r.Address
Next r
End Sub
图纸模块
Private Sub Worksheet_Calculate()
Dim v As Variant
For Each v In PrevVal.Keys()
If Range(v).Value <> PrevVal(v) Then
Range(v).Offset(0, 1).Value = Format(Now, "dd/mm/yyyy hh:mm:ss")
PrevVal(v) = Range(v).Value
End If
Next v
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句