通过按F9显示上次更新文件的时间戳(仅编辑不够)

时间:2015-11-03 16:19:04

标签: excel vba excel-vba timestamp refresh

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

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

    Range("D13") = Now()

Application.EnableEvents = True
End Sub

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

是否可以添加时间戳,显示上次Excel工作表重新计算的时间?

1 个答案:

答案 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