指定单元格,其中包含特定单元格的更新日期

指定单元格,其中包含特定单元格的更新日期

我想要做的是:

如果(C19 改变值;E24=TODAY();不执行任何操作)

我明白这必须在 VBA 中完成。网上的示例与我想要做的(那些使用偏移等的示例)不同。我如何在 excel 中做到这一点?

提前致谢,

缺口

答案1

可能的 VBA 解决方案(简单但不是最佳的)

在公共模块中:

Public Current_C19_Formula As String

在工作簿模块中:

Private Sub Workbook_Open()
    Current_C19_Formula = ThisWorkbook.Sheets("Sheet1").Range("C19").Formula
End Sub

在工作表模块中:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(ThisWorkbook.Sheets("Sheet1").Range("C19"), Target) Is Nothing) Then
    If Current_C19_Formula <> ThisWorkbook.Sheets("Sheet1").Range("C19").Formula Then
        ThisWorkbook.Sheets(1).Range("E24").Value = Date
        Current_C19_Formula = ThisWorkbook.Sheets("Sheet1").Range("C19").Formula
    End If
End If
End Sub

您必须考虑到导致 E24 重新分配的 C19 中的每个更改都会清除应用程序的撤消缓冲区。

相关内容