将时间戳添加到Excel工作表的方法

时间:2018-11-23 07:16:00

标签: excel vba excel-vba

我将每周一次的结业签发给我的同事。

我希望它在K2h2i2等中用true或false填充值时在l2中提供时间戳。 ..我确定我可以弄清楚如何将其应用于其他单元,但是我需要入门方面的帮助。

我尝试使用NOW(),但是每次您进行更改或打开工作簿时,它都会更新,我需要将其自动填充一次以进行验证。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这需要在VBA中完成,因为正如您所说,Now()工作表功能将在重新计算工作表时自动更新。

您可以使用Worksheet_Change()事件来执行此操作。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim colRng As Range
    Set colRng = Union(Me.Columns("H"), Me.Columns("I"), Me.Columns("L"))

    If Not Intersect(Target, colRng) Is Nothing and (target.value = True or _
                target.Value = false) Then
        Me.Cells(Target.Row, "K").Value = Now
    End If

End Sub

这时,只要您更新HIL列中的单元格,列K中的相应行现在都将带有您的时间戳。 / p>


如果您不熟悉VBA,那么最简单的方法是右键单击 Excel底部的工作表标签,然后单击查看代码。新窗口打开后,您需要将以上代码块粘贴到VBE中。然后,您可以简单地关闭此窗口并继续下面的突出显示部分。

  

您将需要将其重新保存为新的工作簿格式。在工作表处于活动状态时,按 F12 ,然后在另存为类型下拉列表中,选择Excel Macro-Enabled Workbook (*.xlsm)