【发布时间】:2016-08-07 04:30:49
【问题描述】:
保存工作表时,我需要一个公式来复制单元格的公式并将其替换为值。
我在单元格 C2:E2 中有一个 =today() 公式。它可以工作,但问题是当我重新打开文件时它会显示当天,而不是显示保存工作表的日期。
【问题讨论】:
保存工作表时,我需要一个公式来复制单元格的公式并将其替换为值。
我在单元格 C2:E2 中有一个 =today() 公式。它可以工作,但问题是当我重新打开文件时它会显示当天,而不是显示保存工作表的日期。
【问题讨论】:
您可以使用 VBA 轻松做到这一点:
ActiveSheet.Cells(Row, Column).Value = Date
【讨论】:
您可以触发 Workbook_BeforeClose event,它将用公式的值替换您的公式:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Range("C2:E2").Value = Range("C2:E2").Value
ThisWorkbook.Save
End Sub
此代码必须放在ThisWorkbook 对象中,而不是作为Module 宏。
编辑:
对不起,我看错了。如果您希望在保存工作簿时完成替换,则同样适用,但代码为:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("C2:E2").Value = Range("C2:E2").Value
End Sub
【讨论】: