首页 > 解决方案 > 将时间戳添加到Excel工作表的方法

问题描述

我正在向我的同事发送我们所有每周培训的每周完成签收。

我希望它为 in 提供一个时间戳,K2只要在其中一个值中填充了 true 或 false ,等等h2......我确定我可以弄清楚如何让它应用于其他单元格,但我需要帮助入门。i2l2

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

谢谢你提供的所有帮助!

标签: excelvba

解决方案


这需要在 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现在都会有您的时间戳。


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

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


推荐阅读