繁体   English   中英

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

[英]Last Save Date and Time VBA for a specific worksheet

嗨,我遇到了工作簿的最后保存选项,其中代码允许跟踪它的最后修改日期和时间,并显示在单元格中。我想知道vba是否可以跟踪它的数据和时间。最后在特定工作表上进行修改,可以说Sheet1。 因此,每次进行更改并将其保存在工作表1中时,它只会反映该工作表的保存时间和日期。 这是到目前为止我为工作簿准备的代码,尝试将.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

您无法保存工作表。 始终,您必须保存整个工作簿。 这就是为什么会出现错误的原因。

如果您想知道编辑每张纸的确切时间和日期,请按照以下内容查找。

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

Private Sub Worksheet_Change(ByVal Target As Range) 
    Sheets("Index").Range("B2") = Now 
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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM