我想在Excel工作表中添加一个时间戳,显示上次更新文件的时间。我用了这段代码:
Private Sub Worksheet_Change(ByVal target As Range)
Application.EnableEvents = False
Range("D13") = Now()
Application.EnableEvents = True
End Sub
此代码的问题在于它显示了值添加的最后一次,但此值可能不是真实值,因为公式未计算(未按下F9,禁用自动计算)。我想显示最后一次更新公式,而不是显示添加值的最后一次。
是否可以添加时间戳,显示上次Excel工作表重新计算的时间?
答案 0 :(得分:2)
你可以创建一个公共布尔,当有修改时设置为 True,并使用Worksheet_Calculate
事件更新时间戳,如果< / em>布尔值为True:
Public HasChanged As Boolean
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If HasChanged Then Range("D13") = Now()
HasChanged = False
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
HasChanged = True
End Sub