自动保存上次打开的Excel文件date

目前我有一个代码,允许我运行代码时生成当前date。 不过,我想自动更新date,因此当下一次打开时,我会知道上次打开的date是什么时候。 以下是我目前的代码:

Private Sub Worksheet_Activate() Dim Home As Worksheet Set Home = Worksheets("Program Status Summary") Home.Range("A1").Value = Format(Now(), "dd/mmm/yyyy") End Sub 

要跟进我的评论:只需将Workbook_BeforeClose的事件处理程序添加到VBA项目的工作簿对象。

 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim Home As Worksheet Set Home = Worksheets("Program Status Summary") Home.Range("A1").Value = Format(Now(), "dd/mmm/yyyy") End Sub 

您可能还想保存更改,以防止“保存更改”提示。

更新 :下面的示例自动保存更改,如果工作簿保存在代码更改之前。 这是避免保存用户不想要的更改所必需的。

 Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim wasSaved As Boolean wasSaved = ThisWorkbook.saved Dim Home As Worksheet Set Home = Worksheets("Program Status Summary") Home.Range("A1").Value = Format(Now(), "dd/mmm/yyyy") If wasSaved Then ThisWorkbook.Save End Sub 
 Private Sub Workbook_BeforeClose(Cancel As Boolean) Range("A1") = Date ThisWorkbook.Save End Sub 

这将做到这一点。 “ThisWorkbook.save”部分在添加当前date后保存工作簿