vba - 通过公式更改单元格时的时间戳 (Excel)

标签 vba excel

我需要一种方法来为值通过公式更改的相邻单元格添加时间戳。使用this例如,我需要工作表 1 上与 A1 相邻的单元格来标记单元格值更改时的日期和时间。

当单元格值通过公式更改时,我链接到的示例会启动一个消息框(当单元格值包含因其他地方的单元格更改而更改的公式时,worksheet_change 事件似乎无法识别单元格值的更改) )。我不需要消息框,但我确实想要时间戳。

为了简单起见,我将在此处发布该链接问题的说明,感谢对此特定问题的任何其他帮助。

在 Sheet1 单元格 A1 中,输入此公式

=Sheet2!A1+1

现在在模块中粘贴此代码

Public PrevVal As Variant

将其粘贴到工作表代码区域

Private Sub Worksheet_Calculate()
    If Range("A1").Value <> PrevVal Then
        MsgBox "Value Changed"
        PrevVal = Range("A1").Value
    End If
End Sub

最后在 ThisWorkbook 代码区域中粘贴此代码

Private Sub Workbook_Open()
    PrevVal = Sheet1.Range("A1").Value
End Sub

最佳答案

MsgBox“值已更改”更改为:

Range("B1").Value = Format(Now, "dd/mm/yyyy hh:mm:ss")

或以 timestamp format 为准您需要

关于vba - 通过公式更改单元格时的时间戳 (Excel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43184798/

相关文章:

java - 在多线程系统中处理POI临时文件

arrays - VBA动态数组错误地复制某些值

vba - 一个更好的 Autocad VBA 编辑器

vba - 如何在VBA中给单元格填充颜色?

vba - 在 VBA 中命名和引用图表

r - 用于运行 R 脚本 : output image issue in Excel 的 VBA 代码

vba - 当 VBA 函数的计算时间长于计算时间时如何引发错误

regex - 即使匹配不需要,VBScript 正则表达式也会填充子匹配

VBA On Error 未捕获错误

excel - 如何在 Excel 的一个表格中从两个数据集构建折线图