我有一个包含多个工作表的工作簿,我需要在上次修改每个工作表时单独加上时间戳。我找到了下面的代码,但它给了我最后修改整个工作簿的时间,而不是每个单独的工作表。我尝试了一些变化,但无法让它工作。有关如何做的任何建议吗?
Public Function LastUpdated()
LastUpdated= Format(FileDateTime(ThisWorkbook.FullName), "m/d/yy h:n ampm")
End Function
答案 0 :(得分:1)
将以下内容放入ThisWorkbook对象会将标记写入单元格C3(第3行,第3列)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
Target.Parent.Cells(3, 3) = Format(Now, "m/d/yy h:n ampm")
Application.EnableEvents = True
End Sub
答案 1 :(得分:1)
在每个工作表中输入以下事件宏:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Cells(Rows.Count, Columns.Count).Value = Now
Application.EnableEvents = True
End Sub
它记录工作表右下角单元格的更改日期/时间。然后在标准模块中输入以下 UDF():
Public Function Updatee() As Date
Application.Volatile
Dim w As Worksheet
Set w = Application.Caller.Parent
Updatee = w.Cells(Rows.Count, Columns.Count).Value
End Function
它将显示该工作表的右下角单元格的内容。