当有人关闭文件时,是否可以自动让Excel执行操作?
我对VBA是一个很新的堆栈溢出,所以请怜悯..
情况:我有一个Excel文件,也用于其他几个人 . 此文件发布保存时的mhtml文件 . 这个mhtml文件将以昨天的日期保存,如“Dashboard 2015-01-12” . mhtml文件中看到的数据必须包含与文件名相关的日期 . 看到的数据取决于此excel文件G2中的单个单元格
我希望Excel文件执行此操作:将单个单元格(G2)更改为昨天的日期 . 然后保存它 . 然后关闭它
我想要完成这个动作:当有人关闭文件时
代码还没有:
Sub sbWriteCellWhenClosing()
Workbooks("BOOK1.XLS").Close SaveChanges:=True
Range("G2") = Format(Now - 2, dd - mm - yy)
End Sub
编辑:
这会完成这项工作吗?
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Range("G2") = Format(Now - 1, dd - mm - yy)
ActiveWorkbook.Close SaveChanges:=True
End Sub
2 回答
你应该使用
Workbook.BeforeClose
事件:http://msdn.microsoft.com/en-us/library/office/ff194765%28v=office.15%29.aspx要在VBA编辑器的项目窗口中执行此操作,您必须使用ThisWorkbook并将代码放在那里 . 您的代码仅适用于以这种方式修改的工作簿 .
This is using the Workbook code:
In a separate Module: