Excel - 如何显示更改不同工作表的最后日期

时间:2015-06-17 12:17:38

标签: excel excel-vba vba

这是我的情景:

我有一个带有许多不同工作表的Excel工作簿。本工作手册将提供给组织内的项目经理完成。我在本工作簿中有一个名为" Main Menu"其中包含将用户导航到多个不同工作表的按钮,例如注册页面。工作簿不需要以任何特定顺序完成。这样,如果用户当时没有完成该信息的信息,则可以返回该部分。

我遇到的问题是有时可能需要几周甚至几个月的时间才能回来。这导致用户忘记他们上次使用的工作簿的哪个部分。我想要的是主菜单上的一个单元格,它将位于相应的导航按钮旁边,该按钮将显示该部分是否已被编辑。

我已经完成了一些研究,并且能够找到如何显示工作簿保存的最后日期,但这对我来说没有用,因为我需要为每个单独的工作表而且这个方法只显示上次保存的整个工作簿的日期。代码如下:

Function LastSavedTimeStamp() As Date
LastSavedTimeStamp = ActiveWorkbook.BuiltinDocumentProperties("Last Save Time")    
End Function

我还发现了其他方法来显示工作表的最后更改日期,但是从我看到的代码中,你需要将它放在同一个工作表页面上,我想在另一个工作表上显示这个日期。

任何帮助都会非常明确。

2 个答案:

答案 0 :(得分:1)

你非常接近。虽然代码确实需要在正在更改的工作表上,但它可以引用 Main Menu工作表,如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)
    Sheets("Main Menu").Range("A1").Value = Now()
End Sub

答案 1 :(得分:0)

点击您的按钮,只需在更改工作表之前添加此内容

Sub Button1_Click()
 ActiveSheet.Buttons(Application.Caller).TopLeftCell.Offset(, 1) = Now()
End Sub

这会将now的值放在按钮右侧的单元格中。如果按钮占用的单元数不止一个,则相应地偏移。