上次保存特定工作表的date和时间VBA

您好,我已经遇到了工作簿的最后保存选项,从而代码允许跟踪它的date和时间最后修改和显示在一个单元格。我想知道,如果VBA可以允许跟踪数据和时间在特定的工作表上进行上次修改,可以说Sheet1。 因此,每次更改已保存在表格1中,它只反映保存在表格中的时间和date。 这里是我到目前为止的工作簿的代码,尝试添加.Sheets("Sheet 1")的代码,但它跟踪我访问的页面的时间,而不是我编辑的。 这些是我的工作簿中的代码。

  Private Sub Workbook_Open() Call starttheClock End Sub Sub Workbooky() ActiveWindow.ScrollRow = 1 End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If ActiveSheet.Name = "Index" Then Exit Sub Application.EnableEvents = 0 i = ActiveSheet.Index With Sheets("Index") .Cells(i, 1) = ActiveSheet.Name .Cells(i, 2) = Now End With Application.EnableEvents = 1 End Sub 

只是为上面的答案添加一些混乱,如果你确实有一个名为“索引”的工作表,并希望有一个date被添加到一个工作表,每次有一个改变,可能会进入一个代码工作簿模块。 然后,只要有一个代码检查任何工作表是否有变化。

这是工作簿模块所在的位置,代码位于此处。

在这里输入图像说明

这里假设你有一张名为“Index”的表格,只要你正确地把它命名为你想要的名字。 代码中的实际工作表名称和工作表名称必须完全匹配。

在这里输入图像说明

这是工作簿模块中的代码。 复制并粘贴到工作簿模块

 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If ActiveSheet.Name = "Index" Then Exit Sub Application.EnableEvents = 0 i = ActiveSheet.Index With Sheets("Index") .Cells(i, 1) = ActiveSheet.Name .Cells(i, 2) = Now End With Application.EnableEvents = 1 End Sub 

您不能保存工作表。 总是必须保存整个工作簿。 这就是它出现错误的原因。

如果您想知道您编辑每张纸的确切时间和date,可以按照以下方式find。

http://www.ozgrid.com/forum/showthread.php?t=46624

 Private Sub Worksheet_Change(ByVal Target As Range) Sheets("Index").Range("B2") = Now End Sub