禁用单元格自动更新

时间:2016-01-04 06:21:45

标签: excel vba excel-vba

我有一个单元格,我想记录左边相邻单元格的更改时间。我用NOW()函数做到了;然而,问题是每次重新计算工作簿时都会更新时间。所以,我想知道是否有任何原始方法来防止这个单元格自动更新。

我个人想出了这个:

Private Sub Workbook_Open()
 Application.Calculation = xlCalculationManual
End Sub

而且:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Application.Calculation = xlCalculationManual
End Sub

所以问题是是否还有其他更好的方法来实现这个问题。

除了我当前使用的“NOW()”函数之外,我还要感谢如何记录时间,以便仅在相邻数据更改时记录,而不是在工作簿本身重新记录时记录。计算

非常感谢你!

1 个答案:

答案 0 :(得分:1)

代替单元格中的= Now()函数并运行宏来重新计算,尝试监视列A的工作表更改事件,并在更改A时将时间戳放在列B中作为固定值。

的内容
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cel as Range
    if not intersect(target, Range("A:A")) is nothing then
       target.offset(0,1) = Now
    end if
End Sub