在excel中保存单元格的值

我不是程序员。 我需要excel VBA的帮助。 我试图保存在每天结束时发生变化的单元格的值。 我希望在一天结束时将单元格的值保存在另一个单元格中,然后在单元格接收实时数据后的第二天将其更改为另一个值。 我想保存旧数据并将其用于计算。 我想每天自动为我做。 我如何使用Excel来做到这一点? 你的帮助将不胜感激。

我会假设你想在每天下午5点或之后保存并closures你的文件。 如果这些假设是正确的,请修改以下代码以适合您的工作簿结构:

 Option Explicit Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim sht As Worksheet Dim celLive As Range Dim celSave As Range If Hour(Now()) >= 17 Then ' ### change the below values to match your workbook structure ### Set sht = Sheets("MySheet") Set celLive = sht.Range("A1") Set celSave = sht.Range("B1") celSave.Value = celLive.Value ActiveWorkbook.Save End If End Sub 

或者,您可能希望通过使用下面的代码来closures工作簿之前查看已执行的代码的结果:

 Option Explicit Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim sht As Worksheet Dim celLive As Range Dim celSave As Range If Hour(Now()) >= 17 Then ' ### change the below values to match your structure ### Set sht = Sheets("MySheet") Set celLive = sht.Range("A1") Set celSave = sht.Range("B1") celSave.Value = celLive.Value With Application .EnableEvents = False ActiveWorkbook.Save .EnableEvents = True End With End If End Sub 

将任一方法的代码放在工作簿模块中,否则将不会执行。