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

时间:2017-04-03 12:32:53

标签: excel vba excel-vba

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

我上面链接的示例在单元格值通过公式更改时启动一个消息框(工作表_更改事件似乎无法识别单元格值的更改,因为它包含由于单元格而更改其值的公式改变其他地方)。我不想要消息框,但我确实想要一个时间戳。

为简单起见,我会在此处发布相关问题的说明,对此特定问题的任何其他帮助表示赞赏。

在Sheet1 Cell 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 Code区域粘贴此代码

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

1 个答案:

答案 0 :(得分:2)

MsgBox "Value Changed"更改为:

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

或您需要的timestamp format