繁体   English   中英

在Excel中保存单元格的价值

[英]saving value of a cell in excel

我不是程序员。 我需要Excel VBA的帮助。 我正在尝试保存每天结束时会发生变化的单元格的值。 我想在第二天结束时将该单元格的值保存到另一个单元格中,因为该单元格正在接收实时数据,因此第二天它会更改为另一个值。 我想保存旧数据并将其用于计算。 我想每天自动为我做。 我该如何使用Excel? 您的帮助将不胜感激。

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

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

或者,您可能希望使用以下代码代替在关闭工作簿之前查看执行代码的结果:

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

将任一方法的代码放入Workbook模块中,否则将不会执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM