按 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
我想在我的 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