Vba 保存excel时将公式设置为值

Vba 保存excel时将公式设置为值,vba,excel,formula,Vba,Excel,Formula,我需要一个公式,以便在保存工作表时将单元格的公式复制并替换为值 我在单元格C2:E2中有一个=today()公式。它可以工作,但问题是当我重新打开文件时,它将显示当天,而不是显示工作表的保存日期。使用VBA,您可以非常轻松地执行此操作: ActiveSheet.Cells(行、列).Value=Date您可以在关闭前触发工作簿,该工作簿将用公式的值替换公式: Private Sub Workbook_BeforeClose(Cancel As Boolean) Range("C2:E2

我需要一个公式,以便在保存工作表时将单元格的公式复制并替换为值


我在单元格C2:E2中有一个
=today()
公式。它可以工作,但问题是当我重新打开文件时,它将显示当天,而不是显示工作表的保存日期。

使用VBA,您可以非常轻松地执行此操作:


ActiveSheet.Cells(行、列).Value=Date

您可以在关闭前触发工作簿,该工作簿将用公式的值替换公式:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
     Range("C2:E2").Value = Range("C2:E2").Value
     ThisWorkbook.Save
End Sub
此代码必须作为
模块
宏放置在
此工作簿
对象中

编辑:

对不起,我看错了。如果您希望在保存工作簿时进行替换,则同样适用,但代码为:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
     Range("C2:E2").Value = Range("C2:E2").Value
End Sub