按 F9 显示文件最后更新时间的时间戳(仅编辑还不够)

Time stamp to show when file was last updated by pressing F9 (just editing not sufficient)

我想在我的 Excel sheet 中添加一个时间戳,它会显示上次更新文件的时间。我使用了这段代码:

Private Sub Worksheet_Change(ByVal target As Range)
Application.EnableEvents = False

    Range("D13") = Now()

Application.EnableEvents = True
End Sub

此代码的问题在于它显示了最后一次 添加值 ,但此值可能不是真实值,因为 公式未计算(未按 F9,禁用自动计算)。我不想显示最后一次添加值的时间,而是想显示最后一次更新公式的时间。

是否可以添加一个时间戳,显示上次 Excel sheet 重新计算 的时间?

您可以创建一个 public 布尔值 并在有修改时设置为 True 并使用 Worksheet_Calculate 如果 布尔值是 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